Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi AdImageList.name und AdImageList.texture (https://www.delphipraxis.net/157144-adimagelist-name-und-adimagelist-texture.html)

Delphi-Narr 31. Dez 2010 12:35

AdImageList.name und AdImageList.texture
 
Hallo nochmal.
Ich habe bei meinen Versuchen mit Andorra die ersten Tutorials durchgearbeitet und versuche jetzt verzweifelt den ImgEdit zu compilieren.
Nach einigem hin und her habe ich die Fehler eingrenzen können, doch in der setdlg.pas kommt es zu einem Fehler.
Nachdem ich "TAdImageList" eingefügt hatte (hab den alten Namen vergessen :)) komme ich jetzt bis zur InsprectImage Funktion.
Da bleibe ich aber hängen, da die AdImageList angeblich keine Eigenschaften wie Name und Texture hat!?

[Error] SetDlg.pas(168): Undeclared identifier: 'Name'
[Error] SetDlg.pas(169): Undeclared identifier: 'Texture'

Patternwidth und Patternheight erkennt der auch nicht, genauso wie Skipwidth und Skipheight. Weiter komm ich leider nicht...

Hier die komplette Funktion:

Delphi-Quellcode:

function TSettings.InsprectImage(AImage: TAdImageList):TModalResult;
var bmp:TBitmap;
    adbmp:TAdBitmap;
    bits:byte;
begin
  Setting := true;
  Edit1.Text := AImage.Name;
  case AImage.Texture.BitDepth of
    16:Radiogroup1.ItemIndex := 0;
    32:Radiogroup1.ItemIndex := 1;
  end;
  ListBox1.ItemIndex := ListBox1.Items.IndexOf(AImage.Texture.Compressor.ClassName);
  Edit2.Text := inttostr(AImage.PatternWidth);
  Edit3.Text := inttostr(AImage.PatternHeight);
  Edit4.Text := inttostr(AImage.SkipWidth);
  Edit5.Text := inttostr(AImage.SkipHeight);
  if AImage.Texture.Initialized then
  begin
    bmp := TBitmap.Create;
    adbmp := TAdBitmap.Create;
    adbmp.ReserveMemory(AImage.Texture.Texture.BaseWidth,AImage.Texture.Texture.BaseHeight);
    AImage.Texture.Texture.SaveToBitmap(adbmp);
    adbmp.AssignToBitmap(bmp);
    Image1.Picture.Assign(bmp);
    adbmp.AssignAlphaChannelToBitmap(bmp);
    Image2.Picture.Assign(bmp);
    bmp.Free;
    adbmp.Free;
  end;
  Setting := false;
  ChangedImages := false;
  result := ShowModal;
  if result = mrOk then
  begin
    AImage.Name := Edit1.Text;
    case RadioGroup1.ItemIndex of
      0:bits := 16;
      1:bits := 32;
    else
      bits := 32;
    end;

    if AImage.Texture.BitDepth <> bits then
    begin
      if (AImage.Texture.BitDepth < bits) or (Application.MessageBox('You''re changing the bit depth of this'+
      ' texture. This means, that you may loose picture quality. Do you really'+
      ' want to apply these settings?','Alert',mb_YesNo) = idYes) then
      begin
        AImage.Texture.BitDepth := bits;
      end
      else
      begin
        bits := AImage.Texture.BitDepth;
      end;
    end
    else
    begin
      bits := AImage.Texture.BitDepth;
    end;

    AImage.Texture.Compressor := TCompressorClass(GetClass(ListBox1.Items[ListBox1.ItemIndex]));
    AImage.PatternWidth := strtointdef(Edit2.Text,0);
    AImage.PatternHeight := strtointdef(Edit3.Text,0);
    AImage.SkipWidth := strtointdef(Edit4.Text,0);
    AImage.SkipWidth := strtointdef(Edit5.Text,0);



    if ChangedImages then
    begin
      adbmp := TAdBitmap.Create;
      adbmp.AssignBitmap(Image1.Picture.Bitmap);
      adbmp.AssignAlphaChannel(Image2.Picture.Bitmap);
      AImage.Texture.Texture.LoadFromBitmap(AdBmp,bits);
      adbmp.Free;
    end;
    AImage.Restore;
  end;
end;
Viele Grüße und schon mal einen guten Rutsch :wink:!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 Uhr.

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