Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bitmap in Din A4 Größe (https://www.delphipraxis.net/110264-bitmap-din-a4-groesse.html)

hansklok 15. Mär 2008 17:29


Bitmap in Din A4 Größe
 
Hallo,

kann mir irgendjemand von euch bitte nen Tipp geben, wie ich eine Bitmap erzeugen kann, die die Maße einer Din A4 oder Din A3 Seite hat?

Vielen Dank im Voraus!

MfG

hansklok

lbccaleb 15. Mär 2008 17:38

Re: Bitmap in Din A4 Größe
 
für a4 erstellst ein bild mit den pixeln: 2480x3508
und für a3 mit folgenden üixelwerten: 3508x4961

in mm:
a4
210mm x 297mm

a3
297mm x 420mm

hansklok 15. Mär 2008 17:43

Re: Bitmap in Din A4 Größe
 
@lbccaleb

Hi, wie kommst du auf diese Werte? Ich möchte, dass die Bitmap auf jedem Bildschirm/Rechner gleich dargestellt wird - soviel ich weiß, ist das auch von der Bildschirmauflösung mit abhängig (GetPixelsX oder so).

hansklok

Namenloser 15. Mär 2008 17:46

Re: Bitmap in Din A4 Größe
 
Du kannst mit MSDN-Library durchsuchenSetMapMode die Einheit deines Canvas auf Zenti/Millimeter umsetllen. dadurch sollte das Bild auf jedem Rechner in der "richtigen" Größe dargestellt werden.

lbccaleb 15. Mär 2008 17:46

Re: Bitmap in Din A4 Größe
 
Zitat:

Zitat von hansklok
@lbccaleb

Hi, wie kommst du auf diese Werte? Ich möchte, dass die Bitmap auf jedem Bildschirm/Rechner gleich dargestellt wird - soviel ich weiß, ist das auch von der Bildschirmauflösung mit abhängig (GetPixelsX oder so).

hansklok

das sind standartwerte für die auflösung von 300 dpi

und ja das ist von der bildschirmauflösung abhängig, aber nur wie es dargestellt wird, das bild hat trotzdem bei verschiedenen bildschirmauflösungen die selben werte

Dani 15. Mär 2008 18:05

Re: Bitmap in Din A4 Größe
 
Delphi-Quellcode:
const MMPerInch: Extended = 25.4;

//Liefert Desktop-Auflösung
function GetXDPI: Integer;
var
  ScreenDC: Cardinal;
begin
  ScreenDC := GetWindowDC(GetDesktopWindow);
  Result := IntToStr(GetDeviceCaps(ScreenDC, LOGPIXELSX));
  ReleaseDC(GetDesktopWindow, ScreenDC);
end;

procedure DinFormatToMM(DinAx: Integer; var rPoint: TPoint);
var
  i: Integer;
  X, Y: Double;
begin
  //A0 Format
  X := 841;
  Y := 1189;
  for i:=0 to DinAx-1 do
    if X > Y then X := X / 2 else Y := Y / 2;
  rPoint.X := Round(X);
  rPoint.Y := Round(Y);
end;

procedure DinFormatToPixels(DinAx, XDPI, YDPI: Integer;
var rPoint: TPoint);
begin
  DinFormatToMM(DinAx, rPoint);
  rPoint.X := Round((rPoint.X / MMPerInch)* XDPI);
  rPoint.Y := Round((rPoint.Y / MMPerInch)* YDPI);
end;

hansklok 15. Mär 2008 18:22

Re: Bitmap in Din A4 Größe
 
Danke Dani,

und damit hat die Bitmap auf jedem Rechner die richtige Größe?

MfG

hansklok

SirThornberry 15. Mär 2008 19:45

Re: Bitmap in Din A4 Größe
 
ein Bitmap ist eine Bit Map. also einfach eine Bitkarte. Und wie groß ein bit ist, ist jedem selbst überlassen. Die Auflösung einer Bitmap hat nichts mit der Darstellung zu tun. Willst du die Pixelansammlung in einer bestimmten Größe darsellen ist das eine Darstellungssache.
Die Pixelanzahl könte man da nur entsprechend anpassen das die Darstellung einfacher ist. Stellst du zum Beispiel den MapMode auf Zehntelmilimeter wäre es das einfachste auch die Bildpunkte in dieser Auflösung zu hinterlegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.

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