Your image contains layers so flip is not working. If you load the image without layers the image is flipped correctly and is not all black:
{ Change PSD_LoadLayers to False to load the base image without layers } { Call this before loading the image }
ImageEnView1.IO.ParamsFromFile(AFilename);
if ImageEnView1.IO.Params.FileType = ioPSD then
begin
ImageEnView1.IO.Params.PSD_LoadLayers := False;
ImageEnView1.IO.LoadFromFilePSD(AFilename);
ImageEnView1.Proc.Flip(fdHorizontal);
end;
if PSD_LoadLayers is true and the image is flipped, the image is not flipped and the arrow remains visible and is not black.
You are indeed correct. I loaded it with photoen3 and it worked but i used another onlime demo last and it did not. So i guess It is a code issue. Thanks for testing. Appreciate it. Pierre
attach/w2m/201831210463_MultiframePSD.zip 102.26 KB In this example your file is opened and PSD_LoadLayers is True and the image can be flipped. When loading psd files with layers, the selected layer is flipped. Bill Miller Adirondack Software & Graphics Email: w2m@hughes.net EBook: http://www.imageen.com/ebook/ Custom Commercial ImageEn Development
Yes, i know. That's why I sent it to Nigel to look at. Rarely do I work with NativePixelFormat except for special circumstance in just a few projects. I do not to think you can not apply proc functions to 16 bit NativePixelFormat images according to the help file shown below because use of NativePixelFormat will prevent execution of some image processing operations:
property NativePixelFormat: Boolean;
Description
By default, ImageEn converts all paletted images to 24 bit (true color). Only black/white images are stored in the original format with 1 bit per pixel. Setting NativePixelFormat to True disables the conversion and uses the image's native format.
Notes: - Use of NativePixelFormat will prevent execution of some image processing operations - Setting ImageEnView1.IO.NativePixelFormat is the same as setting ImageEnView1.IO.Params.NativePixelFormat - LegacyBitmap must be False to enable NativePixelFormat
If the help file is correct and I believe it is, then Nigel will have to come up with a way to achieve this.
I also do not understand why the demo shows RGB48-bit when your 16 bit image is loaded. This does not make sence to me. if ImageEnView1.IO.Params.BitsPerSample * ImageEnView1.IO.Params.SamplesPerPixel = 32 then StatusBar1.Panels[4].Text := 'Colors: RGBA-32Bit' else StatusBar1.Panels[4].Text := 'Colors: RGB-' + IntToStr(ImageEnView1.IO.Params.BitsPerSample * ImageEnView1.IO.Params.SamplesPerPixel) + 'Bit';
The above code should return RGB16-bit but it returns RGB48-bit with your image. Did you create your image with ImageEn and is it truly 16 bit?
That is true..it does show 48 bit in the preview. I guess it is 3x16 per channels. It was created from scratch in Photoshop. I could also upload one of my raw 16 bit image but it also show 48 bit.