2009-10-21 22:35:07 UTC
Hi all!
I apologize for my English, I use auto translator.
I would like to solve the following new problem.
Here it works
procedure TPDF.applyimage(filename: string; x, y, w, h: HPDFREAL);
type
TRGB = packed record
r, g, b: byte;
end;
var
image: HPDFImage;
buff: array of TCMYK;
x1: integer;
ff: HPDF_PBYTE;
begin
setlength(buff, 100 * 100);
for x1 := 0 to 100 * 100 - 1 do
begin
buff[x1].r := 255;
buff[x1].g := 0;
buff[x1].b := 0;
end;
ff := @buff[0];
image := HPDFLoadRawImageFromMem(Fpdf, ff, 100, 100, HPDFCSDEVICERGB, 8);
HPDFPageDrawImage(FPage, image, x, GetActualY(y) - h, w, h);
end;
But it is not. Why?
procedure TPDF.applyimage(filename: string; x, y, w, h: HPDFREAL);
type
TCMYK = packed record
C,M,Y,K: byte;
end;
var
image: HPDFImage;
buff: array of TCMYK;
x1: integer;
ff: HPDF_PBYTE;
begin
setlength(buff, 100 * 100);
for x1 := 0 to 100 * 100 - 1 do
begin
buff[x1].c := 255;
buff[x1].m := 0;
buff[x1].y := 0;
buff[x1].k := 0;
end;
ff := @buff[0];
image := HPDFLoadRawImageFromMem(Fpdf, ff, 100, 100, HPDFCSDEVICECMYK, 8);
HPDFPageDrawImage(FPage, image, x, GetActualY(y) - h, w, h);
end;
Although the documentation is written
HPDFLoadRawImageFromMem
..................
colorspace
HPDFCSDEVICEGRAY or HPDFCSDEVICERGB or HPDFCSDEVICE_CMYK is allowed.
Help plz!