I have another question. How to save 64-bit image? Even with special saving procedure, it saves 32-bit image. Is there 64-bit Init procedure?Maybe I must make it by hands:
procedure TRawImageDescription.Init_BPP64_A16R16G16B16_BIO_TTB(AWidth, AHeight: integer);
begin
FillChar(Self, SizeOf(Self), 0);
Format := ricfRGBA;
Depth := 64; // used bits per pixel
Width := AWidth;
Height := AHeight;
BitOrder := riboBitsInOrder;
ByteOrder := riboLSBFirst;
LineOrder := riloTopToBottom;
BitsPerPixel := 64; // bits per pixel. can be greater than Depth.
LineEnd := rileDWordBoundary;
RedPrec := 16; // red precision. bits for red
RedShift := 16;
GreenPrec := 16;
GreenShift := 32; // bitshift. Direction: from least to most signifikant
BluePrec := 16;
BlueShift := 48;
AlphaPrec := 16;
AlphaShift := 0;
// MaskBitsPerPixel := 0;
end;
I have added this init , but project saves 32-bit. And why GraphType unit recompiled? As you said it impossible. Ah?
As I can see TLazIntfImage just adds one more byte for each in RawDate. So TLazIntfImage is not fully 64-bit component - it just 32bit+ duplicate. Isn't it?