Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by midora

  1. I was able to create 64bppArgb Bitmaps and to save them as BMPs with a bitcount of 64-bit. It looks like there is gdi+ support nowadays. paint.net is able to load these BMPs. Colors and alpha looked ok I was wondering about the values in these 16-bit channels. The range is from 0 to 0x2000. (BGRA) (0x2000 0x2000 0x2000 0x2000) seems to be white full opaque. Does anybody know if these values are a 16-bit floating point variant and which one?
  2. Still on 4.2.16, there are to many open plugins in development on my side to do the switch now. But I will before publishing updates. For grayscale I just use Black and White adjustment before save. To test impdf I need grayscale rasters which use colors in the ordered range [(0,0,0) .. (255,255,255)]. And I'm not able to get them. Typically they do not contain (0,0,0) and (255,255,255) and the order is random. I can patch the bmps but it would be just good to get raster where you could ignore the palette. PDFs can then use /DeviceGray tags. b
  3. Regarding OptionBasedLibrary. OBL was still under development when I had to interrupt my support. Some people still continued to use it in their plugins. I guess it makes no sense to get all the old variants of OBL to run. IMHO this is a waste of time. I'm concentrating on the work to finalize a single OBL and get my own plugins to run. In a next step other plugins could be updated (or die 😉 By the way would it be possible to increase the width of the settings panel a bit in the save dialog? It's really ultra small if a vertical slider is needed. Or even better would be a splitter between settings and preview. 🙂
  4. The octree quantization works quiet well in general but for grayscale images it creates sometimes colors. For grayscale images it would be great to get a switch to generate ordered fixed size palettes [(0,0,0), ... (255,255,255)] (i.e for saving to 8bit, 4bit, 1bit .bmp files). Doing this allows a consumer to use the color index in the raster directly as the gray color value (without a lookup into the palette).
  5. I downloaded the protect as zip and could build it (after removing three dead references to System.XXX in CustomFrame/Dependencies/Assemblies). The icons are located in resources.cs which uses the namespace CustomFrame.Properties. This namespace embeds the class Resources which contains the embedded icons.
  6. ALT-I followed by ALT-H or just for the active layer ALT-L followed by ALT-H. Just open a menu using the ALT key and have a look to the underlined characters.
  7. ImPDF is under development. A while ago I re-implemented the exe part in c# as a module but there was no time to integrate it up to now. So this feature could be added at the same time. It may help to create tutorials.
  8. Rick is really busy in the moment to get paint.net 4.3 to run supporting most of the old plugins. Big job. Maybe selecting multiple layers could be done together with the introduction of layer groups. Even if this means that no effect/adjustment operations are allowed if more than one layer is selected. But just operations in the layers window would be great.
  9. One of my preferred test images 😉
  10. In the save settings of ImPDF you can select to create a page for each layer in the pdf. Page 1 = Layer 0 Page 2 = Layer 1 ... Page n = layer n-1 But maybe your layers always add some elements to the layers below and you like to get the composite up to the layer as a single page. Page 1 = Layer 0 Page 2 = Layer 0 + 1 ... Page n = Layer 0 + 1 + ... + n-1 This maybe a feature for an updated version of ImPDF.
  11. The save variant of the ImPDF file type plugin (no Ghostscript needed) allows you to create a pdf from all the layers in your pdn file. Maybe this is working for your case.
  12. I like to update the old XCF filetype plugin (GIMP native file format) because it just supports XCF <= v3 and needs an additional exe which converts the xcf to pdn which is then loaded. The current GIMP v2.10.x typically creates v11 or v12 XCF files. These versions support 16/32bit channels (int or float) and zlib compression. As an intermediate step I like to improve and extend the PAM filetype plugin. Because it is so easy to write and read. Just perfect for quick tests of the XCF compression. PAM allows multiple images in a file but it does not support layers. So I like to extend the format keeping the compatibility to the PAM specification (which is quite old). I'm adding some code here just to show how easy it is to write a single layer. WIDTH, HEIGHT, DEPTH, MAXVAL, and TUPLTYPE are the keywords used in the standard. I like to add MAXLAYER, LNAME, LVISIBLE, LMAXOPAC, LOPACITY, and LCOMBINE. A layered PAM file will contain MAXLAYER+1 layer images. // A PAM file consists of a sequence of one or more PAM images. // MO: We may use this to support layers. Layer order in file should be bottom to top. // There are no data, delimiters, or padding before, after, or between images. // Each PAM image consists of a header followed immediately by a raster. // The header begins with the ASCII characters "P7" followed by newline.This is the magic number. // The header continues with an arbitrary number of lines of ASCII text. // MO: But we may use UTF-8 // Each line ends with and is delimited by a newline character. // Each header line consists of zero or more whitespace-delimited tokens or begins with "#". // If it begins with "#" it is a comment and the rest of this specification does not apply to it. // The type of header line is identified by its first token, which is 8 characters or less. // A line with a first token ENDHDR is the last line in the header. // MO: Should we add new TUPLTYPEs BGR and BGR_ALPHA? // Start of PAM header and a comment pamfs.Write(Encoding.UTF8.GetBytes("P7\n")); pamfs.Write(Encoding.UTF8.GetBytes("# Generated by xcf2pam\n")); // Standard PAM header lines pamfs.Write(Encoding.UTF8.GetBytes("WIDTH " + layerPixelWidth + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("HEIGHT " + layePixelHeight + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("DEPTH " + layerChannelCount + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("MAXVAL " + ((1UL << (layerChannelBytesPerPixel * 8)) - 1) + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("TUPLTYPE " + "RGB_ALPHA" + "\n")); // Additional Layered PAM header lines pamfs.Write(Encoding.UTF8.GetBytes("MAXLAYER " + (layerPointers.Count - 1) + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("LNAME " + layerName + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("LVISIBLE " + (layerProperties.visible ? 1 : 0) + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("LMAXOPAC " + 255 + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("LOPACITY " + (int)(layerProperties.opacity * 255) + "\n")); pamfs.Write(Encoding.UTF8.GetBytes("LCOMBINE " + layerProperties.blendMode.ToString().ToUpper() + "\n")); // End of header pamfs.Write(Encoding.UTF8.GetBytes("ENDHDR\n")); // Raster data pamfs.Write(layerRaster); Feel free to add all kind of comments about this proposed extension of the PAM format (or none ;-).
  13. Don't be a mimosa. Someone joked about a competition. I will not count the spelling errors in my plugins...
  14. What type of IFF image you are looking for? IFF ist just the basic container format.
  15. OK well then I have to set it to zero always (baldhead).
  16. @Rick BrewsterAre you filing a bug? It's not quite important to fix the issue because it just happens in the rare case that the background layer is hidden. And it just impacts the preview. Open works fine. But it should be remembered.
  17. I'm supporting the request of subfolders. Dropdownitems in the custom area with the subfolder name as item name would be nice but maybe just a separation title showing the subfolder name would be enough.
  18. @otuncelliYou are right. ImXCF used the IsReflexive => true override. I totally forgot about this flag (I had a 5 year break in the developing of paint.net plugins). Returning false shows the same issue as the ZIP and PS plugins. I assume I used IsReflexive => true in the first version of the plugin because there was no load of xcf implemented and never changed it because the preview always looked fine. Maybe I'm updating ImXCF now. There is now a strong hint that the issue is located in the paint.net application.
  19. Just to say. There is no issue with my ImXCF plugin (Layered GIMP files) if the background layer is invisible. That's strange.
  20. Sorry @otuncelli. I misinterpreted your text for some unknown reason. 😉 Thanks that you added the ps plugin example.
  21. ImZIp has been updated to version 1.2. This version added the feature to save all layers, visible only, hidden only, ImZIP.FileType v1.2.zip Sorry that I'm not able to put it in the first thread but I lost the account email years ago.
  22. @otuncelli I guess you replied to the wrong topic.
  23. Luckily 🥺 it's easy to reproduce in the moment. But it means that I can not post the screenshot. The test in the dialog is Sorry, an unknown server error occurred when uploading this file. (Error code: -200)
  24. BTW: Since three months or so I'm fighting with the forum software. I.e. I'm clicking 'Submit reply' the software tells 'saving' but it never returns. Luckily the text is not lost and offered for the next try. Sometimes it takes an hour with several tries until the software accepts the reply. Or today I couldn't upload the image above. I always got the server error 200 (maybe a timeout?) Just now it worked. It happens using the latest Firefox and Edge browser but only in this forum. My internet connection is fine.
  • Create New...