Gelöst: Transparenz JPG
-
- Beiträge: 20
- Registriert: Di 23. Feb 2010, 01:11
- OS, Lazarus, FPC: Win XP, Vista Busi.; L 0.9.28.2; FPC 2.2.4
- CPU-Target: 32Bit
Gelöst: Transparenz JPG
Hallo zusammen,
seid mir net bös, wenn das hier schon irgendwo steht... ich habe via Suche leider Nichts finden können. Vl. suche ich falsch... However:
Ich verwende diverse Grafiken in meinen Formularen, um diese ein bisschen bunter zu gestalten... Stichwort: Userfreundlichkeit. Das TImage kann ja sowohl BMP als auch JPG einladen und ich lade diverse Bildchen zur Laufzeit, um die Anwendung klein zu halten (FormCreate).
In beiden Fällen habe ich die Eigenschaft "Transparent" auf True gestellt, aber es greift nur bei BMP-Files. Dort wird die Transparenz angewandt. Bei JPG allerdings nicht. Da sehe ich den fetten weißen Hintergrund der Grafik. Habe ich eine Einstellung übersehen, oder ist das prinzipiell bei JPG nicht möglich?
Liebe Grüße
Fabian
seid mir net bös, wenn das hier schon irgendwo steht... ich habe via Suche leider Nichts finden können. Vl. suche ich falsch... However:
Ich verwende diverse Grafiken in meinen Formularen, um diese ein bisschen bunter zu gestalten... Stichwort: Userfreundlichkeit. Das TImage kann ja sowohl BMP als auch JPG einladen und ich lade diverse Bildchen zur Laufzeit, um die Anwendung klein zu halten (FormCreate).
In beiden Fällen habe ich die Eigenschaft "Transparent" auf True gestellt, aber es greift nur bei BMP-Files. Dort wird die Transparenz angewandt. Bei JPG allerdings nicht. Da sehe ich den fetten weißen Hintergrund der Grafik. Habe ich eine Einstellung übersehen, oder ist das prinzipiell bei JPG nicht möglich?
Liebe Grüße
Fabian
Zuletzt geändert von COMMANDER86 am Di 23. Feb 2010, 15:40, insgesamt 1-mal geändert.
"Da programmierste ohne Fehler, alles funktioniert und dann benutzt irgendein User Vista."
Re: Transparenz JPG
Genau das.oder ist das prinzipiell bei JPG nicht möglich?
-
- Beiträge: 20
- Registriert: Di 23. Feb 2010, 01:11
- OS, Lazarus, FPC: Win XP, Vista Busi.; L 0.9.28.2; FPC 2.2.4
- CPU-Target: 32Bit
Re: Transparenz JPG
Okay, danke!DiBo33 hat geschrieben:Genau das.
PS: Kann man hier ein Thema schließen oder als "Done" markieren? Finde das hier gerade nicht...
LG
Fabian
"Da programmierste ohne Fehler, alles funktioniert und dann benutzt irgendein User Vista."
Re: Transparenz JPG
Nein, einfach so lassen.COMMANDER86 hat geschrieben:PS: Kann man hier ein Thema schließen oder als "Done" markieren? Finde das hier gerade nicht...
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Transparenz JPG
AFAIK: Du Kannst den "Betreff" Deines ersten Beitrags ändern und "Gelöst: " vorstellen oder etwas ähnliches.COMMANDER86 hat geschrieben: Kann man hier ein Thema schließen oder als "Done" markieren? Finde das hier gerade nicht...
-Michael
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Transparenz JPG
Manche Komponenten (wie die TImageList) erlauben allerdings, dass man eine beliebige Farbe als "Transparenz" definiert. Dann wird einfach alles außer dieser Farbe gezeichnet. Damit dürfte aber z.B. ein etwas ausgefeilteres Blending nicht gehen (schließlich kann man die Transparenz dann nur per ja/nein definieren).
-
- Beiträge: 20
- Registriert: Di 23. Feb 2010, 01:11
- OS, Lazarus, FPC: Win XP, Vista Busi.; L 0.9.28.2; FPC 2.2.4
- CPU-Target: 32Bit
Re: Transparenz JPG
So ähnlich funktioniert das doch auch bei einem Bitmap im TImage, oder? Ich bearbeite die grundsätzlich so, dass der Hintergrund giftgrün ist. Die Farbe wird dann nicht angezeigt und der Effekt ist Transparenz. Afaik sind Bitmaps aber auch nicht die feinste Grafiklösung. Da das vorher Cliparts waren, die das TImage nicht öffnen kann, musste ich ohnehin konvertieren, welches Format spielt dabei keine Rolle. Bitmaps wollte ich nicht wegen der Dateigröße; ist aber nebensächlich. Trotzdem Danke für den Hinweis. Denke, ich werde mir das bei Zeiten mal anschauen.Hitman hat geschrieben:Manche Komponenten (wie die TImageList) erlauben allerdings, dass man eine beliebige Farbe als "Transparenz" definiert. Dann wird einfach alles außer dieser Farbe gezeichnet. Damit dürfte aber z.B. ein etwas ausgefeilteres Blending nicht gehen (schließlich kann man die Transparenz dann nur per ja/nein definieren).
LG
Fabian
"Da programmierste ohne Fehler, alles funktioniert und dann benutzt irgendein User Vista."
Re: Gelöst: Transparenz JPG
Hi Fabian!
Ich benutze komprimierte PNG Bilder... Mit z.B. Gimp die JPG/BMP Bilder umwandeln, dann hast du auch die Transparenz und geringe Speichergrösse!
Was anderes an die anderen... Wie kann man eine Grafik (Bild) aus dem laufenden Program am einfachsten ausdrucken?
Mit TPrint.Execute (Dialog) bekomme ich leider nichts gebacken... bei Delphi3 musste ich da nur einfach die Zeile Print; setzen...
Ich benutze komprimierte PNG Bilder... Mit z.B. Gimp die JPG/BMP Bilder umwandeln, dann hast du auch die Transparenz und geringe Speichergrösse!

Was anderes an die anderen... Wie kann man eine Grafik (Bild) aus dem laufenden Program am einfachsten ausdrucken?
Mit TPrint.Execute (Dialog) bekomme ich leider nichts gebacken... bei Delphi3 musste ich da nur einfach die Zeile Print; setzen...

-
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
Re: Gelöst: Transparenz JPG
falls Du das meinst: Eine Grafik, die im Programm z.B. in einem TImage vorhanden ist, ausdrucken.
Drucken ist ganz einfach bei Freepascal/Lazarus:
... das wars.
Drucken ist ganz einfach bei Freepascal/Lazarus:
Code: Alles auswählen
USES PrintersDlgs, Printers;
Procedure GrafikDrucken;
Begin
{ das ist der Drucker-Dialog, wo man den Drucker auswählt: }
IF PrintDialog1.Execute
THEN Begin
{ das initialisiert den Druckertreiber (oder so was...): }
Printer.BeginDoc;
{ das kopiert die Graphik auf den Printer: }
Printer.Canvas.Draw (10, 10, Image1.Picture.Graphic);
{ auch skaliert möglich: }
Printer.Canvas.StretchDraw (Rect (20,20,30,50), Image1.Picture.Graphic);
{ das schickt nun wirklich alles zum Drucker, egal ob lokal, Netzwerk, IPP... : }
Printer.EndDoc;
End; { If wirklich der Druckerdialog mit [OK] bestätigt }
End; { GrafikDrucken }
Re: Gelöst: Transparenz JPG
@Kobolt: Super, das hab ich gemeint... und es funktioniert! - Vielen Dank dafür!!! 
