Bitmap deep copy changing PixelFormat

前端 未结 2 1592
忘掉有多难
忘掉有多难 2021-01-26 03:53
Bitmap img = new Bitmap(\"C:\\\\temp\\\\images\\\\file.jpg\");

img.PixelFormat is Format24bppRgb

when I am doing deep copy

Bit         


        
相关标签:
2条回答
  • 2021-01-26 04:32

    Just found solution instead new Bitmap(img) use Bitmap img2 = (Bitmap) img.Clone(); don't know it is the right solution, but it do the job.

    0 讨论(0)
  • 2021-01-26 04:58

    You can clone the bitmap like this, which will create a deep copy:

    Bitmap img = new Bitmap("C:\\temp\\images\\file.jpg");
    
    // Clone the bitmap.
    Rectangle cloneRect = new Rectangle(0, 0, img.Width, img.Height);
    System.Drawing.Imaging.PixelFormat format =
        img.PixelFormat;
    Bitmap img2 = img.Clone(cloneRect, format);
    
    0 讨论(0)
提交回复
热议问题