Entwickler-Ecke

Multimedia / Grafik - Auflösung eines Jpeg ändern


simine - Mo 04.08.03 21:04
Titel: Auflösung eines Jpeg ändern
Ja, eigentlich dürfte sich mein Problem mit dem Titel von selbst erklären. Es wäre nett, wenn mir jemand den Code dafür schicken könnte. Ich will ein Jpeg laden, die Auflösung ändern und anschließend wieder abspeichern. Ich bin noch blutiger Anfänger, und hoffe auf Hilfe.
Danke schon mal.
sim


Aya - Di 05.08.03 01:03

Hi,

meinst du mit Auflösung ändern, es zu vergrößern/verkleinern???

Wenn ja geht das so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
uses
  [...], JPEG;

procedure ResizeImage(FileName: String; NewWidth, NewHeight: Integer);
var
  RBit, Bit: TBitmap;
  JPG: TJPEGImage;
begin
  Bit:=TBitmap.Create;
  RBit:=TBitmap.Create;
  JPG:=TJPEGImage.Create;
  JPG.LoadFromFile(FileName);
  Bit.Assign(JPG);
  RBit.Width:=NewWidth;
  RBit.Height:=NewHeight;
  RBit.Canvas.CopyRect(Rect(0,0,NewWidth,NewHeight),Bit.Canvas,Rect(0,0,Bit.Width,Bit.Height);
  JPG.Assign(RBit);
  JPG.SaveToFile(FileName);
  JPG.Free;
  RBit.Free;
  Bit.Free;
end;


Kann nicht garantieren das es 100%ig richtig ist, hab's eben einfach mal so ohne zu testen hier hingeschrieben ;)

Au'revoir,
Aya~


Alibi - Di 05.08.03 01:15

Oder meinst du die DPI des Bildes?


simine - Di 05.08.03 18:21

Ich meinte die dpi, ja.


Aya - Di 05.08.03 18:25

Hi,

verbessert mich wenn ich müll erzähle... aber wenn ich ein 640x480 Bild mit 76dpi (Monitor) habe und möchte dieses auf z.B. 152dpi haben... ist das nicht exakt dasselbe als wenn ich es auf 1280x960 vergrößere??? :roll:

Au'revoir,
Aya~


Alibi - Di 05.08.03 19:17

Ich weiß nicht, wie das JPEG Format aufgebaut ist, aber Photoshop liest da die Auflösung raus.


AXMD - Mi 06.08.03 07:33

Hi,

Zitat:
Ich weiß nicht, wie das JPEG Format aufgebaut ist, aber Photoshop liest da die Auflösung raus.

Stimmt. Wenn man bei Photoshop Datei neu ein Bild mit z.B. 100x100 Auflösung macht und die dpi danach umstellt wird das Bild größer.

AXMD