[Gimp-developer] Need help with Python plugin exporting to raw file (using Gimp 2.9)
- From: Alek _ <spectatoe outlook com>
- To: "gimp-developer-list gnome org" <gimp-developer-list gnome org>
- Subject: [Gimp-developer] Need help with Python plugin exporting to raw file (using Gimp 2.9)
- Date: Thu, 19 Feb 2015 17:06:07 -0800
I'm using Gimp 2.9 experimental build, which I downloaded from
partha.com, to specifically have edit ability with 16-bit per channel
images. I originally posted in gimpforums.com and was told I should try here.
I'm trying to write a Python plugin to export an image as a raw file
(just data, no header). The current option to export as raw image data
(File -> Export as -> Raw image data) seems to only support writing out as 8-bit even when the image precision
is greater than 8-bit. So I wanted to write a plugin so I could export
my 16-bit per channel image to a raw file with the 16-bit data
preserved.
My image is a 16-bit grayscale 3x3 image with a checkerboard pattern of alternating white and black pixels.
I used the sample script 'test-discolour-layer-v4.py' from http://registry.gimp.org/node/28124
as a guide on how to iterate through every pixel. I have some
questions and ran into some problems. What I have so far can be seen here (http://pastebin.com/U49VZYVT).
It just iterates through the pixels and outputs values to the
error console.
1. How do I query for the precision? That is, I want to know if the
current image is 8-bit gamma integer, or 16-bit linear integer, or
something else. I looked at the image object's attributes and didn't
find anything.
2. When I get the pixel value from srcTile[x,y], the value is always
8-bit. With the white pixels, the value should be 65535 but I got 255. How do I get the
proper value? When I use the Color Picker tool with info window, it says 65535 for white. How do I get that
value?
3. My code creates a new layer from visible and then queries the pixels from that. In my image, all values
returned are 255 even for the black pixels. When I put my checkboard pattern on the Background layer and
query that layer, I get correct values (though in 8-bit). For any other layer other than Background, the
values are always 255. I don't know what I'm doing wrong.
Can someone help me or point me in the right direction?
Thanks.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]