Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TJpegImage Komponente? Woher? (https://www.delphipraxis.net/43127-tjpegimage-komponente-woher.html)

SiMc 29. Mär 2005 15:56


TJpegImage Komponente? Woher?
 
Hallo

Ich hab mich bei Google dumm und dämlich gesucht, aber ich finde diese Komponente einfach nicht mehr (ich hatte sie schonmal runtergeladen und da hat auch alles geklappt).

Ein paar Sachen konnte ich schon finden, doch da fehlten beim compilen andauernd irgendwelche Dateien, aber egal...

Wenn mir jemand einen Link zu der funktionierenden Komponente geben könnte, wäre ich sehr dankbar.


-SiMc

dizzy 29. Mär 2005 16:03

Re: TJpegImage Komponente? Woher?
 
Nix runterladen, einfach die Unit "JPEG" usen ;)

Chegga 29. Mär 2005 16:09

Re: TJpegImage Komponente? Woher?
 
Hi,

nicht mal das musst du. :wink:
Sobald du in eine TImage eine *jpg-Datei lädst,
wird in die uses automatisch jpeg hinzugefügt.
Tja, Delphi ist einfach der Hammer. :zwinker:

MfG Marc

P.S.: Warum einfach, wenn's auch schwierig geht? :mrgreen: :wall:

Khabarakh 29. Mär 2005 16:14

Re: TJpegImage Komponente? Woher?
 
Zitat:

Zitat von Chegga
Hi,

nicht mal das musst du. :wink:
Sobald du in eine TImage eine *jpg-Datei lädst,
wird in die uses automatisch jpeg hinzugefügt.
Tja, Delphi ist einfach der Hammer. :zwinker:

MfG Marc

P.S.: Warum einfach, wenn's auch schwierig geht? :mrgreen: :wall:

Zur Entwurfszeit ziemlich nett, aber zur Laufzeit nimmt man dann eben TJpegImage :zwinker: .

SiMc 29. Mär 2005 16:22

Re: TJpegImage Komponente? Woher?
 
Also ok, habe ich gemacht. Jpegs laden und speichern ist ja nun kein Problem mehr (da hätte ich auch selbst draufkommen können :wall: :wall: )

Aber ich habe ein Programm geschrieben, wo man u.a. auch zeichnen kann und andere Bilder einfügen kann. So, das hatte ich bis jetzt alles mit Bitmaps gemacht, doch mit jpegs isses einfach besser :-D

Das Problem dabei ist, wenn ich nun auf dem Canvas zeichne, gibts nen Fehler:

Ein Bild kann nur geändert werden, wenn es einen Bitmap enthält.

Hmm, muss ich da noch viel umschreiben?

Khabarakh 29. Mär 2005 16:34

Re: TJpegImage Komponente? Woher?
 
Zitat:

Zitat von SiMc
Also ok, habe ich gemacht. Jpegs laden und speichern ist ja nun kein Problem mehr (da hätte ich auch selbst draufkommen können :wall: :wall: )

Aber ich habe ein Programm geschrieben, wo man u.a. auch zeichnen kann und andere Bilder einfügen kann. So, das hatte ich bis jetzt alles mit Bitmaps gemacht, doch mit jpegs isses einfach besser :-D

Das Problem dabei ist, wenn ich nun auf dem Canvas zeichne, gibts nen Fehler:

Ein Bild kann nur geändert werden, wenn es einen Bitmap enthält.

Hmm, muss ich da noch viel umschreiben?

Auf was für eine Canvas willst du denn zeichnen? TJpegImage hat ja keine. Eigentlich sollte es so aussehen
  • Jpeg durch TJpegImage laden
  • in ein OffscreenBitmap kopieren (z.B. Assign)
  • auf dem Bitmap zeichnen
  • im OnPaint der Paintbox Inhalt des Bitmaps auf diese kopieren

SiMc 30. Mär 2005 00:07

Re: TJpegImage Komponente? Woher?
 
Zitat:

Zitat von Khabarakh
[...]
Auf was für eine Canvas willst du denn zeichnen? TJpegImage hat ja keine. Eigentlich sollte es so aussehen
  • Jpeg durch TJpegImage laden
  • in ein OffscreenBitmap kopieren (z.B. Assign)
  • auf dem Bitmap zeichnen
  • im OnPaint der Paintbox Inhalt des Bitmaps auf diese kopieren

Also, ich lade nun eine jpg Datei auf eine Canvas Zeichenfläche. Dann will ich etwas darauf zeichnen, aber dann kommt eben dieser Fehler:

Code:
Ein Bild kann nur geändert werden, wenn es einen Bitmap enthält.
Ich hab schon ziemlich viel herumprobiert, aber es geht einfach nicht.
Ich brauche halt die TJpegImage Komponente (ja, es gibt eine die funktioniert).

Khabarakh 30. Mär 2005 09:05

Re: TJpegImage Komponente? Woher?
 
Du hast also einfach eine neue Canvas instanziiert, also z.B.
Delphi-Quellcode:
var Can: TCanvas;
[...]
  Can := TCanvas.Create;
?
Versuch es wirklich mal mit einem TBitmap.

SiMc 30. Mär 2005 12:10

Re: TJpegImage Komponente? Woher?
 
OK, es hat nun geklappt.

Ich habe anstatt Assign einfach Draw genommen (vorher halt noch die Größe ändern, sonst steht was über/ist was abgeschnitten).

Code:

var            
  imgj := TImage; // das Bild, was man nicht sieht

implementation

uses
Jpeg;

...

imgj := TImage.Create(imgj);

imgj.Picture.LoadFromFile('bild.jpg');
Image1.Height := imgj.Picture.Height;
Image1.Width := imgj.Picture.Width;
Image1.Canvas.Draw(0, 0, imgj.Picture.Graphic);

... // Image1 editieren

Image1.Assign(imgj.Picture); // sorum klappts wunderbar
Image1.Picture.SaveToFile('bild_edit.jpg');

Trotzdem vielen Dank für alle Antworten :)



-SiMc

Khabarakh 30. Mär 2005 13:09

Re: TJpegImage Komponente? Woher?
 
Genau für nicht sichtbare Bilder sind Bitmaps da :wink: .
Delphi-Quellcode:
var            
  bit: TBitmap; // das Bild, was man nicht sieht

implementation

uses
Jpeg;

...

bit := TBitmap.Create

bit.LoadFromFile('bild.jpg');
Image1.Height := bit.Height;
Image1.Width := bit.Width;
Image1.Canvas.Draw(0, 0, bit);

... // Image1 editieren

Image1.Assign(bit); // sorum klappts wunderbar
Image1.Picture.SaveToFile('bild_edit.jpg');
bit.Free; // nicht vergessen!
Am Programm ändert sich eigentlich nichts, so ist es einfach besser mit weniger Ressourcen.

PS: Egal ob Bitmap oder Image, die Instanz musst du wieder freigeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 Uhr.
Seite 1 von 2  1 2      

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