Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by midora

  1. You really invested a lot of time in doing and document this. Seems you like this kind of work 😉
  2. That's fine. I must have used in the .a.gif plugin. I agree that quantization using alpha is special. In the moment I have no idea how to do it best. To get octree in the future is a prospect 😉
  3. That's a good start. Now you have to think about a file extension. I.e. .rlbmp? It's just not possible to use .bmp.
  4. Maybe I missed the info. Is it possible to access octree quantization from a filetype plugin in 4.30? A snippet for the usage would be fine. And is it possible to include the alpha channel into the quantization process to get a colortable containing ARGB values?
  5. Are you sure that the top line of the logo is a segment of a circle with the tip at the center? If you ere measuring the distance from the tip to the top line then the distance is different at the middle and the outer point. What's the goal? Should the top line be a segment of a perfect circle then you may have to fake it a bit.
  6. Just as a hint. The scrollbars of ListViews require that you call SetWindowTheme everytime the Handle of the control changes.
  7. That's fine. EndsWith() is used just because of the issue you mentioned that the name contains dots (otherwise you would look for the first dot in the name). The file dialog seems to work similar. I never got a negative feedback from end-users (but typically they are engineers).
  8. I know there is more to do than just setting the flag to true. You are right there is no additional support. I used a list of extensions (starting with dots) sorted by length (long ones first) and used EndsWith to find the matching extension type. But it's more a suggestion for the future and not something we need just now. And maybe having in mind that this maybe helpful. I may also add load to ImPdf if I would know that .im.pdf is supported so that the plugin could expect that the pdf contains just images. As long as there is no open dialog which could be canceled you always have to throw an error if the file is valid but does not fulfill the requirements.
  9. I would use the file extension .a.gif instead of .agif. The advantage would be that there would no longer be the need to change the extension to offer support for animated gif files. I tested the property in one of my applications and it works as expected to filter the list in the dialog. Supported in .net 5 and older versions.
  10. I'm getting a reproducable crash closing the ImPDF Save filetype plugin (on OK or cancel). Exception details: System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.) ---> System.NullReferenceException: Object reference not set to an instance of an object. at PaintDotNet.Dialogs.SaveConfigDialog.UpdatePreviewAsync(Document document, FileType fileType, SaveConfigToken saveConfigToken, CancellationToken cancelToken) in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 676 --- End of inner exception stack trace --- at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at PaintDotNet.Dialogs.SaveConfigDialog.WaitForAndDisableUpdatePreview(WaitActionType waitActionType) in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 818 at PaintDotNet.Dialogs.SaveConfigDialog.OnClosing(CancelEventArgs e) in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 338 at System.Windows.Forms.Form.CheckCloseDialog(Boolean closingOnly) This is a filetype which has no load option.
  11. JFI: I couldn't reproduce the issue with colored pixels after quantization of gray scale images using 4.30.7918 (portable version).
  12. There are .bmp file format variants which support rle4 and rle8 run-length encoding but still the file must start with "BM". The header contains a compression field telling a reader that the file is using rle. If you find a specification and a different file extension someone should be able to create a plugin for the format. I'm sure it would be pretty easy. But we can not create bmp files which can not be opened by image viewers. Maybe the data is rle4 or rle8 endcoded and someone tried to be clever and save some header bytes compared to the bmp specification.
  13. Most important is that you and your family are safe.
  14. Hi @lingfude this file is not in windows .bmp file format. .bmp files start with "BM" in the data. Your file starts with "RL". GPS PI icons are typically 8-bit bmps. No idea what this dview tool creates as bmp file.
  15. I would prefer it too but I also remember all the complains when GIMP switched to this approach. War times 😉 A lot of user just do not use layers and they can not accept to just open and save a file. .pdn of paint.net is like .xcf of GIMP the native file type of the application which stores part of the workflow and not just the pixel data.
  16. I'm pretty sure this was not an assumption 😉. But nobody respects all possible context changes during development. If all plugins are getting a copy it may be more difficult to write a configuration plugin for OBL. May be not. I don't know in the moment.
  17. I guess there are some fundamental misunderstandings in this topic. You have to distinguish between the pixel size and the so called print size of an image. The print size is the pixel size multiplied with the dpi value (which you can set in the "Resize..." dialog, which also shows the print size). The standard print feature of the operating system is quite limited. If you like to get exact positioning or sizing of the image then you may use the PrintIt plugin. There are several options to respect your expectations and a preview (which also shows the not printable area of your paper depending an printer and paper).
  18. What happens if the filletype just supports save but not open? A no preview message in the preview area and the file size is still displayed?
  19. I know it's not the best time to suggest something. A stable 4.3 is the most important thing in the moment. But if developers could get an additional plugin interface for tools they could really add value. I had this in mind when I designed the user interface of the Spirit Level plugin (years ago). Maybe we could start a discussion sometime in the future how a plugin interface for tools could look like.
  20. Hi Andrew, This plugin is a source for developers, so it's fine to move it to the next level. You can say this also for every application (like paint.net 😉). There are always pros and cons. At the end it's the decision of the developer. Great that you are improving your skills. Go on.
  21. Thanks for the hint Rick. I'm sure there are more flaws in OBL (like just using the old effect flags).
  22. I'm speculating. The main reason to introduce Window 11 as soon as possible is not about new features it is about money. New PCs will get Windows 11 and in the future the basic license will only allow you to install sw from the store. You need TPM to force this. Maybe I'm wrong 😉
  23. If you do not depend on the original 256 colors then just use the default settings and press ok. Just to finish the sentence 😉 No idea why I have to fight with this forum in the last months. But tries to edit my post always return with "This comment can no longer be edited. It may have been moved or deleted, or too much time may have passed since it was posted for it to be edited."
  24. Hi @bannerman100you have to know that the gif file format is quite old and just allows a maximum of 256 different colors. But paint.net allows you to use millions of different colors. Just drawing a line may create hundreds of new colors in your image. Now if you like to save the edited image as gif you need a process to reduce the amount of colors back to the maximum of 256. This process is called quantization. You need it or you can not save the image as gif. If you do not depend on the original 256 colors
  25. I found the following in the wic documents Fixed-Point Numerical Encoding 16-bit fixed-point values are interpreted as s2.13: sign bit, two integer bits, and thirteen fractional bits. Using this interpretation, a numerical range of −4.0 to +3.999... can be represented, with the value of 1.0 represented by the signed integer value 8192 (0x2000). and implemented int Fixed16To16bits(int fixed16) { double d = (double)fixed16 / 0x2000; // 2^13 = 8192 = 0x2000; d is now in the range 0..1 return (int)(d * 0xFFFF); // 2^16-1 = 65535 = 0xFFFF } to convert the fixed point to a standard channel value. This works so far, but the image in the pdf is a little bit dark. Not sure where to look for this issue in the moment. I'm getting a better results by using bitmap.GetPixel() and stretching the 8 bit channel values to 16bit.
  • Create New...