Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Pixel in cm umrechnen (https://www.delphipraxis.net/29855-pixel-cm-umrechnen.html)

MPirnstill 14. Jun 2012 16:02

AW: Re: Pixel in cm umrechnen
 
Zitat:

Zitat von Luckie (Beitrag 205102)
Zitat:

Zitat von shmia
Diese Unit dient dazu, Druckerausgaben in mm oder Inches zu designen und
auf den Printer Canvas in Pixel umzurechnen.

Ich die genauen Anforderungen die du hattest nicht aber mit MSDN-Library durchsuchensetmapmode hättets du dir viel Arbeit sparen können, so wie es bisher für mich aussieht.

Hallo,

ich weiß, der Thread ist schon etwas älter, aber stehe jetzt vor einem ähnlichen Problem. Ich habe eine Art Editor mit der RTF-Komponente in Delphi 7 geschrieben.
Die soll für Tastschreibübungen dienen. So leider sieht das Getippte am Bildschirm jetzt nicht so aus wie das Gedruckte.

Kann ich, wenn ich diesen "setmapmode" verwende auch einfach sagen, das die Breite meiner RTF-Komponente 21 cm (- Randeinstellung) breit ist?

Also so eine Art WSYWYG. Das zumindest die Zeilen auf dem Bildschirm mit den Zeilen im Ausdruck identisch sind.

Bummi 14. Jun 2012 16:22

AW: Pixel in cm umrechnen
 
Vielleicht hilft Dir das weiter?

http://www.swissdelphicenter.ch/de/showcode.php?id=1466

in Kurzform habe ich etwas derartigen in meiner Spickerkiste
Delphi-Quellcode:
procedure PaintRichedit(canvas:TCanvas;re:Trichedit;Bounds:Trect;pixelsperinch:Integer=96);

var fmt   : TFormatRange;
begin
    InflateRect(Bounds,-2,-2);
    Bounds.Left := Round(Bounds.Left * 1440 / pixelsperinch) ;
    Bounds.right := Round(Bounds.right * 1440 / pixelsperinch) ;
    Bounds.top := Round(Bounds.top * 1440 / pixelsperinch);
    Bounds.Bottom := Round(Bounds.Bottom * 1440 / pixelsperinch);
     with fmt do
     begin
          hdc:= Canvas.handle;
          hdcTarget:= hdc;
          chrg.cpMin := 0;
          rcPage := Bounds;
          rc := Bounds;
          chrg.cpMax := re.GetTextLen;
     end;
     SetBkMode( Canvas.Handle, TRANSPARENT );
     re.perform( EM_FORMATRANGE, 1, integer( @fmt ));
     re.perform( EM_FORMATRANGE, 0, 0 );
end;

MPirnstill 15. Jun 2012 07:56

AW: Pixel in cm umrechnen
 
Hallo Thomas,

danke erstmal für deine Antwort.
Auf den ersten Blick sieht das sehr vielversprechend aus.
Werd mal schauen ob das passt.

Gruß
Micha


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz