![]() |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Zitat:
|
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Wie ich schon geschrieben habe: Im OnCreate-Event nachdem du das Bild geladen hast:
Delphi-Quellcode:
Statt Image321 musst du ev. deinen eigenen Namen für das Bild einsetzen und den zweiten Parameter ggf. durch eine andere Farbe ersetzen.
CromaKey(Image321.Bitmap, $00FF00FF); //rosa soll transparent werden
Oder habe ich dich mit der Frage falsch verstanden :roll: LG, ich |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Liste der Anhänge anzeigen (Anzahl: 1)
Keine Ahnung, irgenwie klappts nicht, hab das unten reingeschriebenins Programm, hab das Bild mit der Farbe $00FF00FF eingefärgt und
es auch mit folgender Zeile probiert
Delphi-Quellcode:
aber irgendwie klappt es nicht
P^ := C or $FF000000;bzw P^ := C or $00000000;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin CromaKey(Image321.Bitmap, $00FF00FF); end; |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Delphi-Quellcode:
:gruebel: ? Der Code ist so, wie ich ihn gepostet habe, vollkommen richtig.
P^ := C or $00;
Aber was hast du eigentlich? Es klappt doch alles :mrgreen: . Man kann den Alphakanal bei einem einzelnen Bitmap lediglich nicht auf dem Bildschirm sehen. ![]() |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Liste der Anhänge anzeigen (Anzahl: 1)
:oops: Das glaub ich Dir ja, :wall: nur schaff ich es irgendwie nich den Code so umzusetzen das mei Bildchen Transparent wird.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, GR32_Image,GR32; type TForm1 = class(TForm) Image321: TImage32; procedure CromaKey(ABitmap: TBitmap32; TrColor: TColor32); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CromaKey(ABitmap: TBitmap32; TrColor: TColor32); var P: PColor32; C: TColor32; I: Integer; begin TrColor := TrColor and $00FFFFFF; // erase alpha, (just in case it has some) with ABitmap do begin P := PixelPtr[0, 0]; for I := 0 to Width * Height - 1 do begin C := P^ and $00FFFFFF; // get RGB without alpha if C = TrColor then // is this pixel "transparent"? P^ := C; // write RGB with "transparent" alpha back into the SrcBitmap Inc(P); // proceed to the next pixel end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin CromaKey(Image321.Bitmap, $00FF00FF); end; end. |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
@Khabarakh
Das "GR32 Extension Control Pack" find ich, alles was sich bei dem Link bei mir aufmacht ist der Microsoft Outlook Newsreader, der hat dann 5000 nachrichten bei mir reinkopiert , a 1 KB, irgendwie find ichs nichts. |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Wie gesagt, dein Code ist zu 100% in Ordnung, allen Pixeln wird der korrekte Alphawert zugewiesen.
Das Control-Pack findest du unter "19.6.2005", aber ich habe es nicht fertig gebracht, es zu installieren :stupid: (ist auch noch Alpha). Einfachere Lösung: Das Bitmap auf den bekannten Phtoshop-Grau-Weiß-gekachelten Hintergund kopieren. Warum willst du dir die Transparenz denn überhaupt anzeigen lassen, es geht doch nur ums Verkleinern der Grafik? |
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Liste der Anhänge anzeigen (Anzahl: 1)
Was mache ich dann verkehrt, das Bild, das rosa müsste doch weg sein!(Siehe Bild)
|
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Wie gesagt, TImage32 blendet das Bitmap nicht mit dem Hintergrund, du siehst also auch die voll transparenten Stellen! Die Pixel haben den richtigen Alphawert, er wird nur beim Anzeigen ignoriert. Kannst du bitte genau beschreiben, was dein letztendliches Ziel ist? Dann könnte ich dir besser helfen.
|
Re: Gif bei verkleinerter Bildauflösung farblich stark verä
Ziel von mir ist es ein TImage32 Bild transparent darzustellen, also in dem Fall sollte während der Laufzeit(von mir aus auch eher), das rosa nicht zu sehen sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz