Autor Beitrag
stefanstp
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 106



BeitragVerfasst: Do 21.11.02 12:06 
Ich möchte ein Image auf meiner Form legen und zwar soll dies ein schöner Rahmen sein. Alle Bereiche die weiß sind, sollen transparent sein. In der Image-Componente gibt es dafür auch die Funktion "Transparent".
Wenn ich die auf "True" setze, passiert so gut wie gar nichts, nur ein paar Pixel die weiß sind, werden transparent gemacht, aber eben nicht alles.

Woran kann dies liegen? Wie schaffe ich es, das wirklich alle weiß-Bereiche verschwinden?

Wer kann helfen?

Danke im Voraus

STEFAN
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Do 21.11.02 13:09 
Hi,

die Eigenschaft transparent macht den Hintergrund des Bildes transparent. Wenn die restlichen weissen Flächen Deiner Bitmap nicht auf dem Hintergrund liegen, werden sie nicht berücksichtigt.

Du musst also den Rahmen im Zeichenprogramm nochmal nachbearbeiten und alle durchsichtigen Bereiche mit der Hintergrundfarbe nachmalen, bzw. das Vordergrung-Weiss mit dem Radiergumme löschen.

:idea:

_________________
Alfons Grünewald
stefanstp Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 106



BeitragVerfasst: Do 21.11.02 13:19 
Titel: Nachfrage...
Irgendwie habe ich das leider noch nicht ganz verstanden.

Ich habe einen Rahmen. Der ist sagen wir mal scharz. Da der Rund ist, ist alles außen weiß (als Photoshopdatei transparent ==> wird ja beim umwandeln in weiß konvertiert).

Jetzt macht er aber halt das Weiß nicht transparent. Bei Icons klappt das komischerweise immer super. Da hatte ich nie Probleme.

Oder heißt das, das ich den schwarzen Rahmen innen komplett schwarz machen muß, und somit die meiste Fläche schwarz ist und der rest der weiß ist, automatisch der Hintergrund ist, und Delphi dann erkennt, das diese Fläche transparent zu machen ist???

Hm???
a
Hält's aus hier
Beiträge: 14

Win 2000
D5 Entp
BeitragVerfasst: Do 21.11.02 14:43 
Standardmäßig richtet sich die transparente Farbe nach der Farbe des Pixel in der unteren, linken Ecke.

Um das zu ändern, musst Du einfach folgenden Code in das FormCreate Ereignis packen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Picture.Bitmap.TransparentMode := tmFixed;
  Image1.Picture.Bitmap.TransparentColor := clWhite;
  Image1.Picture.Bitmap.Transparent := True;
end;
stefanstp Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 106



BeitragVerfasst: Do 21.11.02 14:55 
Titel: Besten Dank
...werde ich doch gleich mal ausprobieren.

STEFAN