Image an Mausposition platzieren
Hallo,
mit diesem code geht dies:
i := WPViewPDF1.Plus.AddImage('s:\a.jpg');
if i > 0 then
WPViewPDF1.Plus.UseImage(i,
WPViewPDF1.command(COMPDF_GetPageUnderMouse),
MulDiv( WPViewPDF1.Command(COMPDF_GetPageLogX), 72, Screen.PixelsPerInch),
MulDiv( WPViewPDF1.Command(COMPDF_GetPageLogY), 72, Screen.PixelsPerInch),
72, 24, 0, []);
Hallo,
ich habe jetzt mal folgenden Code:
px := WPViewPDF1.Command(COMPDF_GETMOUSE_X);
py := WPViewPDF1.Command(COMPDF_GETMOUSE_Y);
pxl := WPViewPDF1.Command(COMPDF_GetPageLogX);
pyl := WPViewPDF1.Command(COMPDF_GetPageLogY);
pw := WPViewPDF1.Command(COMPDF_GetPageWidth);
ph := WPViewPDF1.Command(COMPDF_GetPageHeight);
Wenn ich rechts unten klicke, sollten ja px und pw sowie py und ph
etwa gleich sein.
Aber
px = 791
py = 1121
pw = 595 (A4 72 dpi)
ph = 842 (A4 72 dpi)
Das ist etwa ein Faktor von 0.75
Wenn ich jetzt meine errechneten X und Y mit 0.75 multipliziere, stimmt die Position etwa.
Aber ich verstehe es nicht.
Was sagen die Werte denn nun aus?
Herzlichen Dank,
Frank Reim
Hallo,
Ich habe schon einen Beitrag dazu gelesen.
Dort werden auf die commands
COMPDF_GETMOUSE_X
COMPDF_GETMOUSE_Y
verwiesen.
Nur wird das Image nicht an der Position eingefügt.
procedure TfrmMain.WPViewPDF1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Var
i: Integer;
begin
i := WPViewPDF1.Plus.AddImage('barcode.jpg');
if i > 0 then
WPViewPDF1.Plus.UseImage(i,
WPViewPDF1.command(COMPDF_GetPageUnderMouse),
WPViewPDF1.Command(COMPDF_GetPageLogX),
WPViewPDF1.Command(COMPDF_GetPageLogY),
72, 24, 0, []);
end;
Bei COMPDF_GETMOUSE_XY ist die Position zu weit links oben,
bei COMPDF_GetPageLogXY zu weit rechts unten.
Muss man noch was rechnen?
Danke, Frank