Entwickler-Ecke
Multimedia / Grafik - TJPEGImage verkleinern??
csigg - Mo 25.07.05 16:29
Titel: TJPEGImage verkleinern??
Wie kann ich ein TJPEGImage verkleinern??
Ich hab die Qualität herunter gesetzt, wurde jetzt aber noch gern die Masse ändern.
Geht das mit den Standart Komponenten, oder brauch ich da JEDI, o.ä??
Tastaro - Mo 25.07.05 16:31
Die Masse eines Gegenstands stellt man fest, indem man eine Balkenwaage verwendet. Da diese bei einem virtuellen Objekt wie einem JPG-Image zu ziemlich gegen null gehen dürfte, gibt es da nix zu verringern. :-)
Anders ausgedrückt: Was meinst du mit "Masse"?
Beste Grüße
Tastaro
csigg - Mo 25.07.05 16:32
Sorry, mit Masse war eigentlich Maße gemeint, also Höhe und Breite *g*
Tastaro - Mo 25.07.05 16:37
Schau dir mal die Funktion StretchBlt an. Die arbeitet mit Bitmaps. Also JPG nach BMP konvertieren -> Größe ändern -> BMP nach JPG konvertieren.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| StretchBlt(oBitmapStretch.canvas.Handle, 0, 0, iNewXSize, iNewYSize, oBitmapOriginal.canvas.Handle, 0, 0, oBitmapOriginal.Width, oBitmapOriginal.Height, SRCCOPY ); |
Beste Grüße
Tastaro
csigg - Mo 25.07.05 16:43
Wie konvertiere ich das jpg zu einem bmp??
Tastaro - Mo 25.07.05 17:09
Man verwende die Suchfunktion. :-)
Beste Grüße
Tastao
Lossy eX - Di 26.07.05 08:34
Ich persönlich würde nur dann mit StretchBlt wenn es darum geht etwas gestreched zu zeichnen. Bei einem Bild was du wieder irgendwo speichern möchtest würde ich mich mal auf die Suche nache einem Resample Algorithmus machen. Das Ergebniss ist dann um längen Besser als mit StretchBlt.
Blackheart666 - Di 26.07.05 09:03
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74:
|
procedure TForm1.AnpassenClick(Sender: TObject); var Bitmap1: TBitmap; Bitmap2: TBitmap; begin Bitmap1 := TBitmap.Create; Bitmap1.LoadFromFile(Edit1.Text); Bitmap2 := TBitmap.Create; Bitmap2.Width := 350; Bitmap2.Height := 350; Bitmap2.Canvas.StretchDraw(Rect(0,0,Bitmap2.Width-1,Bitmap2.Height-1),Bitmap1); Bitmap2.SaveToFile('./b.bmp'); Bitmap1.Free; Bitmap2.Free; Image1.Picture.LoadFromFile('./b.bmp'); end;
procedure TForm1.BildladenClick(Sender: TObject); begin OpenPictureDialog1.Execute; Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); Edit1.Text:=(OpenPictureDialog1.FileName); end;
uses JPEG; Procedure BmpToJpg(const Filename: String; Quality: TJPEGQualityRange=100); var Bmp: TBitmap; Jpg: TJpegImage; begin Bmp:=TBitmap.Create; Jpg:=TJpegImage.Create; try Bmp.LoadFromFile(Filename); Jpg.CompressionQuality:=Quality; Jpg.Assign(Bmp); Jpg.SaveToFile(ChangeFileExt(Filename, '.jpg' )); finally Jpg.Free; Bmp.Free; end; end;
uses jpeg; procedure JpegToBmp(const Filename: String); var jpeg: TJPEGImage; bmp: TBitmap;begin jpeg:=TJPEGImage.Create; try jpeg.LoadFromFile(Filename); bmp:=TBitmap.Create; try bmp.Assign(jpeg); bmp.SaveToFile(ChangeFileExt(Filename, '.bmp')); finally bmp.free; end; finally jpeg.free; end; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!