Skip to content

AnyBitmap.FromFile() on a 24bpp file will return a bitmap with the wrong encoding. #66

@chipego-ironsoftware

Description

@chipego-ironsoftware

Description

When using the AnyBitmap.FromFile() method on a 24bpp file, the returned bitmap has the correct properties BitsPerPixel=24 and Stride=2564 (approximately width * 3). However, upon inspecting the Scan0 data, it appears to contain unexpected alpha data in the pattern of X Y Z 255 X Y Z 255 which is 32bpp with an alpha channel.

To Reproduce

  • Use the AnyBitmap.FromFile() method to load a 24bpp file.
  • Inspect the properties of the returned bitmap, specifically BitsPerPixel and Stride.
  • Examine the Scan0 data of the bitmap.

Workaround

public static AnyBitmap BitmapFromFile(string path)
  {
   AnyBitmap img = AnyBitmap.FromFile(path);
   return new AnyBitmap(img, img.Width, img.Height);
  }

Test Image

This is a 24bpp image provided for the purpose of reproduction.
TestLutBurnt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions