AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TBitmap32 einem TJPEGImage zuweisen

Ein Thema von Wheelie · begonnen am 19. Aug 2004 · letzter Beitrag vom 19. Aug 2004
Antwort Antwort
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#1

TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 17:16
Hallo!

Wie ich schon in einem anderen Thread geschrieben habe, arbeite ich mit einem TBitmap32 um Bilder geglättet zu verkleinern. Nun möchte ich ein Bitmap vom Typ TBitmap32 einem TJPEGImage zuweisen. Wie muss das korrekte Typencasting lauten??

Das hier ...
jpeg.Assign(bmp); ... funktioniert zumindest nicht

Danke für eure Unterstützung!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 17:23
\\edit: War Vollquatsch...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 17:24
Schau dir mal die Methode DrawTo von TBitmap32 an. Damit sollte sich glaube ich was machen lassen.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#4

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 17:57
Klappt nicht so richtig ...
Delphi-Quellcode:
...
jpeg := TJPEGImage.Create;
bmp := TBitmap.Create;
bmp.Width := b.Width;
bmp.Height := b.Height;
b.DrawTo(bmp.Handle, b.BoundsRect, b.BoundsRect); //b ist vom Typ TBitmap32
jpeg.Assign(bmp);
jpeg.CompressionQuality := 80;
jpeg.SaveToFile('d:\neu.jpg');
...
Das dabei erzeugte JPEG-File hat zwar die richtige Größe, ist aber nur weiß
  Mit Zitat antworten Zitat
Markus
(Gast)

n/a Beiträge
 
#5

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 18:53
Machs so:

Delphi-Quellcode:
jpeg := TJPEGImage.Create;
bmp := TBitmap.Create;

bmp.assign(b);
jpeg.Assign(bmp);

jpeg.SaveToFile('d:\neu.jpg');

bmp.free;
jpeg.free;
Das müsste gehen.
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#6

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 19:25
JA ... es funzt! Danke


edit: hatte erst was verwechselt
  Mit Zitat antworten Zitat
Markus
(Gast)

n/a Beiträge
 
#7

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 19:28
Ja, ich weiß, aber bei mit konnte ich ein TBitmap32 einem TBitmap zuordnen.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TBitmap32 einem TJPEGImage zuweisen

  Alt 19. Aug 2004, 19:39
Zitat von Markus:
Machs so:

Delphi-Quellcode:
jpeg := TJPEGImage.Create;
bmp := TBitmap.Create;

bmp.assign(b);
jpeg.Assign(bmp);

jpeg.SaveToFile('d:\neu.jpg');

bmp.free;
jpeg.free;
Das müsste gehen.
Ist aber recht unschön, und wenig performat, da das ganze dann ja 2x echt kopiert werden muss. Der Fehler in dem Code oben von Wheelie:
Code:
b.DrawTo([b]bmp[/b].Handle, b.BoundsRect, b.BoundsRect);
Da hätte das jpeg stehen müssen
\\edit: Und das jpeg.Assign(bmp); muss raus, und das jpeg muss vorher auf die richtige Größe gesetzt werden.

\\nochmal: Öhm, Wheelie, du hast ja auch ein bmp als Zwischenspeicher drin. Müsste doch aber auch ohne gehen, bei Verwendung von DrawTo, oder?

\\uuuund nochmal: Okay, es scheint wohl nicht so ohne weiters zu gehen, da TJPEGImage kein Handle hat, das man DrawTo übergeben könnte... zu schade auch. Dann eben mit TBitmap dazwischen (is aber hässlich *möö* )
(Evtl. könnte man mit einem Memorystream was drehen!)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 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