gdi+

How to resize an image smoothly (with resampling) using Windows API calls?

I need to resize images and resample them so they don't end up all jagged (I think that's called aliasing). I found some code (sorry, lost the link) that does this in pure VB6 code but it's a bit slow (2-5 seconds) and I'm displaying pictures in real time so I need something faster. I seem to recall seeing some examples of doing this w...

Is there bug in the Matrix.RotateAt method for certain angles? .Net Winforms

Here's the code i'm using to rotate: Dim m As New System.Drawing.Drawing2D.Matrix Dim size = image.Size m.RotateAt(degreeAngle, New PointF(CSng(size.Width / 2), CSng(size.Height / 2))) Dim temp As New Bitmap(600, 600, Imaging.PixelFormat.Format32bppPArgb) Dim g As Graphics = Graphics.FromImage(temp) g.Transform = m g.DrawImage(image, 0,...

What is the best algorithm to locate a point in an image file?

Hi all, I want to create a mark sheet recognizer. Here is the description: My system uses black and white color scheme. The mark sheet paper has a small black rectangle on each corner and an additional small black rectangle, to determine orientation, near one of the previous rectangles. The paper is scanned to yield an image (in bmp f...

Fitting place names into map shapes

I'm drawing shapes using GDI+ using a list of lat/lon floats, and I need to place the name of the place within the borders of the polygon. Simply centering the text in the bounding rectangle doesn't work for irregular shapes. I have the text and the font so I can get the size of the rectangle that the text will need to fit in, but at th...

.NET GDI+ image size - file codec limitations

Is there a limit on the size of image that can be encoded using the image file codecs available from .NET? I'm trying to encode images > 4GB in size, but it simply does not work (or does not work properly i.e. writes out an unreadable file) with .bmp, .jpg, .png or the .tif encoders. When I lower the image size to < 2GB it does wor...

Drawing a TextBox in an extended Glass Frame w/o WPF

I am trying to draw a TextBox on the extended glass frame of my form. I won't describe this technique, it's well-known. Here's an example for those who haven't heard of it: http://www.danielmoth.com/Blog/Vista-Glass-In-C.aspx The thing is, it is complex to draw over this glass frame. Since black is considered to be the 0-alpha color, an...

GDI+: Can't center String in Layout Rectangle

This is what I'm trying, and vertical centering is failing: void CGDIOverlays::drawText(RGB_COLOR color, const string &text, INT x, INT y, INT w, INT h, HFONT hFont, BOOL keepSize, BOOL staticText, UINT options ){ HDC hdc = m_pGraphics->GetHDC(); Gdiplus::Font graphFont( hdc, hFont ); m_pGraphics->ReleaseHDC( hdc ); if( stat...

efficient way to detect if an image is empty

Hi, I need a very fast method to detect if an image is empty. Im my case then all pixels are white and transparant. The images are png's. My current method is to load them in a memory bitmap and check each pixel value, but this is way to slow. Is there a more efficient way? This is my current code: 'Lock the bitmap bits. Dim bmp...

Best direction for displaying game graphics in C# App

I am making a small game as sort of a test project, nothing major. I just started and am working on the graphics piece, but I'm not sure the best way to draw the graphics to the screen. It is going to be sort of like the old Zelda, so pretty simple using bitmaps and such. I started thinking that I could just paint to a Picture Box contr...

How do I superimpose one bitmap image on another in GDI+?

Using GDI+ I've made a heatmap bmp and I'd like to superimpose it on top of my bmp map. I've saved the two bmps to disk, and they look good, I just need a way to put them together. Is there any way to do this, perhaps using the Graphics object? How is transparency/alpa involved? I'm very new to GDI programming so please be as specifi...

Taking screenshots in Windows Vista, Windows 7, with transparent areas outside the app region

Hey Folks, I am trying to take a screenshot of an application and I would like to make the parts of the rectangle that are not part of the applications region be transparent. So for instance on a standard windows application I would like to make the rounded corners transparent. I wrote a quick test application which works on on XP (o...

gdi+ removable device IO Safe problem

I am using gdi+ for image format checking. It is really surprising that gdi+ Image img(path); does not throw exception when a device is removed. for example, I am checking a list of image files on a removable device. I plug the disk off, Then My Application will crashed. How can I avoid such problem? Many Thanks! I am using c++ gdi+ wi...

.NET Library for drawing tables with GDI+

I need to print the contents of a datagridview, simple text in rows and columns, with GDI+ in .NET to paper. To do this, I need to iterate over the rows, draw lines, iterate over the columns, calculate width, height, wrap the contents if contents do not fit on one line, etc. This is all possible, but is there a library that simplifies t...

System.Drawing - bad text rendering using DrawString on top of transparent pixels.

When rendering text into a bitmap, I find that text looks very bad when rendered on top of an area with non-opaque alpha. The problem is progressively worse as the underlying pixels become more transparent. If I had to guess I'd say that when underlying pixels are transparent, the text renderer draws any anti-aliased 'gray' pixels as sol...

Locking a GDI+ Bitmap in Native C++?

I can find many examples on how to do this in managed c++ but none for unmanaged. I want to get all the pixel data as efficiently as possible, but some of the scan0 stuff I would need more info about so I can properly iterate through the pixel data and get each rgba value from it. right now I have this: Bitmap *b = new Bitmap(filena...

How to Create a Duotone Interpolation Color in GDI+ (.NET)?

I have two colors that I need to linearly interpolate to create a duotone color based of another color's luminance value. Dim clr1 = Color.Black Dim clr2 = Color.FromArgb(224, 255, 165) Dim lum = Color.FromArgb(226, 189, 136).GetBrightness 'lum = 0.71 I know the result of this should be R=171, G=192, B=125, but I can't figure out how ...

"A generic error occurred in GDI+" error while showing uploaded images

i am using the following code to show the image that has been saved in my database from my asp.net mvc(C#) application:. public ActionResult GetSiteHeaderLogo() { SiteHeader _siteHeader = new SiteHeader(); Image imgImage = null; long userId = Utility.GetUserIdFromSession(); i...

A generic error occurred in GDI+.

A generic error occurred in GDI+ [ExternalException (0x80004005): A generic error occurred in GDI+.] System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) +615257 I have a webpage in which a pdf is converted to png, and using the response.outputstream it is displayed. when i run this on m...

DrawImage - unwanted resized

I've implemented GDI+ Drawing, but I really don't know why it's resize unwanted :) case WM_PAINT: { hdc = BeginPaint(hWnd, &ps); Graphics g(hdc); Bitmap* bm; bm = new Bitmap(L"1.png"); g.DrawImage(bm,0,0); g.DrawImage(bm,0,100,126,36); g.DrawImage(bm,0,200,0,0,126,36,UnitP...

How to Use Calculated Color Values with ColorMatrix?

I am changing color values of each pixel in an image based on a calculation. The problem is that this takes over 5 seconds on my machine with a 1000x1333 image and I'm looking for a way to optimize it to be much faster. I think ColorMatrix may be an option, but I'm having a difficult time figure out how I would get a set of pixel RGB va...