Entwickler-Ecke

Multimedia / Grafik - Transparenzproblem bei Manipulation eines Icons...


FriFra - Sa 03.01.04 11:51
Titel: Transparenzproblem bei Manipulation eines Icons...
Ich habe ein kleines Problem mit dem Ändern eines Icons. Das merkwürdige an der Sache ist, dass es auf einem Rechner läuft und auf dem anderen nicht...
user defined image



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
procedure TXBuddy_Main.WriteReading(IsReading: Boolean);
var
  StartX, StartY: integer;
  id, n, x, y: integer;
  IsLarger: boolean;
  Bmp: TBitmap;
  ImageList: TImageList;
  TrColor: TColor;
begin
  if IsReading = True then
  begin
    TNA_IconTmp.Assign(TNA_Icon);
    try
      Bmp := TBitmap.Create;
      Bmp.Height := 16;
      Bmp.Width := 16;
      { Hintergrundfarbe }
      Bmp.Canvas.Brush.Color := clFuchsia;
      Bmp.Canvas.FloodFill(0, 0, clFuchsia, fsBorder);

      Bmp.Canvas.Draw(0, 0, TNA_Icon);

      Bmp.Canvas.Pixels[2, 2] := clMaroon;
      Bmp.Canvas.Pixels[2, 3] := clRed;
      Bmp.Canvas.Pixels[2, 4] := clRed;
      Bmp.Canvas.Pixels[2, 5] := clMaroon;
      Bmp.Canvas.Pixels[3, 2] := clRed;
      Bmp.Canvas.Pixels[3, 3] := clRed;
      Bmp.Canvas.Pixels[3, 4] := clRed;
      Bmp.Canvas.Pixels[3, 5] := clRed;
      Bmp.Canvas.Pixels[4, 2] := clRed;
      Bmp.Canvas.Pixels[4, 3] := clRed;
      Bmp.Canvas.Pixels[4, 4] := clRed;
      Bmp.Canvas.Pixels[4, 5] := clRed;
      Bmp.Canvas.Pixels[5, 2] := clMaroon;
      Bmp.Canvas.Pixels[5, 3] := clRed;
      Bmp.Canvas.Pixels[5, 4] := clRed;
      Bmp.Canvas.Pixels[5, 5] := clMaroon;

      ImageList := TImageList.CreateSize(16, 16);
      try
        ImageList.AddMasked(Bmp, clFuchsia);
        ImageList.GetIcon(0, TNA_Icon);
      finally
        ImageList.Free;
      end;
    finally
      Bmp.Free;
    end;
  end
  else
    TNA_Icon.Assign(TNA_IconTmp);
end;