Avatar billede speedy Nybegynder
18. juni 2000 - 15:07 Der er 3 kommentarer og
2 løsninger

StretchDraw Icon

Følgende function virker ikke med iconer. Hvorfor ikke ??

function TForm1.KonverterFilToBMP(Filnavn: TFileName): TBitmap;
var
  Ikon: TIcon;
  JpegImage: TJpegImage;
  tmpBitmap: TBitmap;
  Rect: TRect;
begin
  Result := TBitmap.Create;
  Result.Width := 16;
  Result.Height := 16;
  Rect.Left := 0;
  Rect.Top := 0;
  Rect.Right := 16;
  Rect.Bottom := 16;

  if ExtractFileExt(Filnavn) = '.ico' then
    begin
      Ikon := TIcon.Create;
      Ikon.LoadFromFile(Filnavn);
      tmpBitmap := TBitmap.Create;
      tmpBitmap.Width := Ikon.Width;
      tmpBitmap.Height := Ikon.Height;
      tmpBitmap.Canvas.Draw(0,0,Ikon);
      Result.Canvas.StretchDraw(Rect, tmpBitmap);
    end;
  if (ExtractFileExt(Filnavn) = '.jpg') or (ExtractFileExt(Filnavn) = '.jpeg') then
    begin
      JpegImage := TJpegImage.Create;
      JpegImage.LoadFromFile(Filnavn);
      Result.Canvas.StretchDraw(Rect, JpegImage);
    end;
  if ExtractFileExt(Filnavn) = '.bmp' then
    begin
      tmpBitmap := TBitmap.Create;
      tmpBitmap.Width := 16;
      tmpBitmap.Height := 16;
      tmpBitmap.LoadFromFile(FilNavn);
      Result.Canvas.StretchDraw(Rect, tmpBitmap);
    end;
end;

/SpEeDy
Avatar billede speedy Nybegynder
18. juni 2000 - 15:09 #1
Altså lige en lille forklaring ;)

Jeg vil angive en fil, og ligegyldigt hvad det er for en fil, skal funktionen returnere en Bitmap, som indeholder det billede, som er angivet. Desuden skal den "stretche" billedet til 16 * 16.

Men det virker også fint med JPG og BMP, men ikke ICO ??

/SpEeDy
Avatar billede sjensen Nybegynder
19. juni 2000 - 11:07 #2
Speedy,

Jeg mener at problemet ligger i a ikoner ikke har samme format/opbygnign som billedfiler. En ICO fil "ses" ikke som en billedfil af Windows eller Delphi. De gange hvor jeg har haft behovet for at ændre på en ikon, har jeg enten brugt image editor under Delphi (eller den gamle Resource Workshop) eller først konverteret ICO filen til BMP og efter behandling tilbage igen.

Du kan ikke bruge ICO filer som imagefiler under Delphi.
Avatar billede speedy Nybegynder
19. juni 2000 - 13:26 #3
Hvordan kan jeg så konvertere et ico til bmp i Delphi ??

/SpEeDy
Avatar billede speedy Nybegynder
21. juni 2000 - 16:36 #4
Nå, det hjalp jo ikke meget :(
Avatar billede speedy Nybegynder
21. juni 2000 - 16:37 #5
Men tak for svaret sjensen ;-) Selvom det jo ikke hjalp :)

/SpEeDy
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester