SkiaSharp icon indicating copy to clipboard operation
SkiaSharp copied to clipboard

[FEATURE] Drawing to and from compressed indexed color bitmaps

Open Shadowblitz16 opened this issue 4 months ago • 1 comments

Is your feature request related to a problem?

I am using avalonia ui which uses this and I wanted to make a nes/snes graphics system in avalonia ui.

Problem is I have tried doing this multiple times and I just don't have the experience to do it.

The reason I want to do this is so I can store graphics into a binary file and minimize size. I want to have a 8 * 8 * 32 * 30 * 65536 pixels which in 4bpp color would be 1.87 GiB if the entire binary is filled. According to google this would take 15 GiB with 32bpp color if the entire binary is filled.

Describe the solution you would like

Please support drawing to and from compressed 1bpp 2bpp and 4bpp indexed color graphics

Describe alternatives you have considered

  • Writing my own blitter.
  • Looking for image libraries that do this

Additional context

Pixel operations should work on multiple pixels at a time with these formats without expanding them in memory.

The only time these compressed formats should be uncompressed is to convert them into a higher bpp format.

Of course it should not allocate more then the target pixel format.

Code of Conduct

  • [x] I agree to follow this project's Code of Conduct

Shadowblitz16 avatar Nov 03 '25 15:11 Shadowblitz16

Triage Summary

No labels will be applied since the issue pertains to a feature request related to drawing graphics using the Avalonia UI framework, which does not have applicable labels within the existing context.

This issue is not a regression, as it simply requests new functionality rather than addressing any previously functioning feature.

Detailed Summary and Actions

Summary of the triage:

  • The issue discusses a feature request for drawing with different compressed indexed color formats in the Avalonia UI framework.
  • There are no available labels for feature requests or specific UI drawing enhancements related to Avalonia or SkiaSharp.
  • The issue does not specify any matching operating system or platform context.
  • Since the issue deals with a request for new functionality rather than a compatibility, performance, or reliability issue, no appropriate labels can be assigned.

Summary of the actions that will be performed:

Action Item Description
No Action - The issue does not have applicable labels for assignment.

Additional remarks:

  • The request for handling compressed indexed colors highlights the need for clearer labeling for feature requests within the framework.

This entire triage process was automated by AI and mistakes may have been made. Please let us know so we can continue to improve.

github-actions[bot] avatar Nov 03 '25 15:11 github-actions[bot]