C# Winform Programming (8) GDI+ Drawing

GDI + Drawing Introduction System.Drawing namespace Common classes in the System.Drawing namespace: Common structures in the System.Drawing namespace: Graphics class Pen class Brush class Font class PictureBox image control Bitmap class Introduction GDI (Graphics Device Interface) image device interface, which is a drawing API. The System.Drawing namespace provides access to the basic graphics functions of […]

win32 – use GDI+ to play gif pictures

I encountered such a problem when I was doing a case today, so I recorded it. Codeproject has a similar case, but it is compiled using the MFC template. Because we only need win32 programs, so…. the code is as follows: CodeProject: Play GIF using GDI+ The other is implemented using double buffering, I have […]

Use GDI+ (WIC) to load 32-bit bitmap or PNG image (with transparency channel)

#include <windows.h> #include <gdiplus.h> HBITMAP LoadBitmapFromResource(DWORD ResourceID, bool transparent = true) { HANDLE hGlobal = NULL; ULONG_PTR GDIToken = 0; Gdiplus::Image* Img = NULL; Gdiplus::GdiplusStartupInput GDIStartInput = NULL; Gdiplus::GdiplusStartup( &GDIToken, &GDIStartInput, NULL); HRSRC hResource = FindResource(NULL, MAKEINTRESOURCE(ResourceID), “BINARY”); if (!hResource) {<!– –>return NULL;} HGLOBAL hFileResource = LoadResource(NULL, hResource); if (!hFileResource) {<!– –>return NULL;} LPVOID lpFile […]

Win32 – Use of GDI+ Gaussian Blur

Although GDI+ is marked in the title, it is not actually used in the actual implementation. However, the relevant documentation of GDI+ has some API instructions about Gaussian blur, see the link below: Blur class (gdipluseffects.h) Using the Blur class, you can apply a Gaussian blur effect to a bitmap and specify the nature of […]

Graphics class of C# GDI+ programming

Recently, I need to use the function of C#DrawLine to draw a straight line. I don’t know much about this. Let me record the problems encountered when using it. The basic part of drawing lines has been written before in “C# Self-study Notes (Forty) Windows Drawing”, if you are interested, you can read it I […]

Baumer industrial camera Baumer industrial camera how to use BGAPI SDK and the Image class image compression algorithm in the GDI+ library to compress and save the image (C++)

Baumer industrial camera Baumer industrial camera how to use BGAPI SDK and Image class image compression algorithm in GDI + library to compress and save images (C++) Baumer industrial camera Baumer industrial camera and GDI+ library image compression technology background code analysis Step 1: First reference the corresponding GDI + library Step 2: Convert the […]

[Solved] .Net Core saves pictures through GDI+ and reports errors in CentOS 7 Docker environment [Solved]

Before, I made a file upload interface in the netcore3.1 environment to store files such as user avatars; debugging on the development machine (windows10) was normal, but deployed to the centos7 container docker environment, and found that the front-end debugging request 500 The internal error of the server, The type initializer for ‘Gdip’ threw an […]

[Solved] Image.Save() with “System.Runtime.InteropServices.ExternalException A generic error occurred in GDI+”

Article table of contents Phenomenon reason solve Phenomena code // buff is a byte[] that stores jpeg file data MemoryStream ms = new MemoryStream(buff); Image img = Image.FromStream(ms); ms.Close(); string path = “D:\test.jpg”; // An exception occurred when executing the Save method img.Save(path); exception information A generic error occurred in GDI+. “System.Runtime.InteropServices.ExternalException” (in System.Drawing.dll) Reason […]