Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe (https://www.delphipraxis.net/181543-firemonkey-image-per-code-bitmaps-ins-multiresbitmap-und-neue-transparenzfarbe.html)

onepiecefreak2 24. Aug 2014 16:54

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
Ok also langsam...

TFixedBitmapItem ist ein undeklarierter Bezeichner. Ich habe die Prozeduren unter den Public-Declarations deklariert und auch verscheidene Varianten von TFixedBitmapItem probiert. Probiert habe ich TBitmapItem, TMultiResBitmapItem, TImageMultiResBitmapItem, TImageBitmapItem, TMultiResImageBitmapItem und all diese Varianten auch mal ohne das Wort Bitmap, auch wenns sinnlos scheint.

Diesmal habe ich also versucht auf meine bestehende MultiRes zuzweisen. Aber na gut. Ich hoffe wieder auf helfende Antworten :).

Harry Stahl 24. Aug 2014 17:15

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
Liste der Anhänge anzeigen (Anzahl: 2)
Standardmäßig hat das Multiresbitmap bereits ein Bitmap drin. Man kann dann prüfen ob es einen Inhalt hat und wenn ja, nur dann eine Bitmap hinzufügen.

Hier ist der Code, wie man z.B. über einen Opendialog eine Bitmap hinzufügt.

Delphi-Quellcode:
procedure TForm62.Button1Click(Sender: TObject);
begin
   if od1.Execute then begin
     if Image1.MultiResBitmap.Items[Image1.MultiResBitmap.Count-1].Bitmap.isempty = false then
        Image1.MultiResBitmap.Add;

     Image1.MultiResBitmap.Items[Image1.MultiResBitmap.Count-1].Bitmap.loadfromfile (od1.FileName);
  end;
end;
Ich habe mal eine Demo angehängt, womit man mehrere Grafikdateien nacheinander in eine Multiresbitmap laden kann. Die Transparenz bleibt erhalten. Wenn man auf die Listbox links unten auf einen Eintrag klickt, wird in Image2 das jeweilige Bitmap aus Image1 angezeigt.

onepiecefreak2 24. Aug 2014 17:56

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
Danke Harry. Diesen LoadFromFile Befehl habe ich die ganze Zeit gesucht.

Ich verstehe nur nicht warum er erst so spät kommt. Ich will mich weissgott nicht beschweren, aber wenn ich schreibe, dass ich eine Bitmap aus einer Datei in einem Image anzeigen lassen will, hätte ich mit diesem LoadFromFile-Befehl eher gerechnet.

Aber wie gesagt ich will mich nicht beschweren. Es funktioniert alles wie es soll.

Das Thema ist hiermit geschlossen.

Uwe Raabe 24. Aug 2014 18:56

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
Wird mit dem LoadFromFile denn die TransparentColor richtig umgesetzt?

Harry Stahl 24. Aug 2014 20:06

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
@Uwe Raabe

Ja, die Transparenz bleibt erhalten, wobei Voraussetzung ist, dass man die Grafik aus einer Datei lädt, welche die Transparenz standardmäßig unterstützt (z.B. eine PNG-Datei).

Uwe Raabe 24. Aug 2014 22:12

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
Bei PNG ist das klar, aber gilt das auch für beliebige BMP Dateien? Wenn dem so wäre, warum dann der ganze Aufwand in CreateBitmap?

Nun gut, solange es funktioniert ist ja alles in Ordnung.

Sel2012 12. Jun 2015 11:06

AW: Firemonkey: Image, per code Bitmaps ins MultiResBitmap und neue Transparenzfarbe
 
[QUOTE=Uwe Raabe;1269717]
Zitat:

Zitat von onepiecefreak2 (Beitrag 1269716)

procedure TForm27.AddBitmap(const AFileName: string; AScale: Single);

Programmierung für Dumme...

Wie kommt diese Zeile mit Hilfe von RAD Studio zustande? Handgeschrieben? Ein Ereignis finde ich dafür nicht im Objektinspektor.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Seite 2 von 2     12   

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