Entwickler-Ecke

Multimedia / Grafik - bmp to icon convert


huhn - Mo 22.11.04 23:03
Titel: bmp to icon convert
Hey leute
hab ein prob,ich will ein bitmap oder das image in ein icon umwandeln doch leider klappt das nicht ganz so
ursprungscode:

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:
procedure TForm1.Button1Click(Sender: TObject);  
 var   
  s : string;  
  Icon: TIcon;  
begin  
  OpenDialog1.DefaultExt := '.ICO';  
  OpenDialog1.Filter := 'icons (*.ico)|*.ICO';  
  OpenDialog1.Options := [ofOverwritePrompt, ofFileMustExist, ofHideReadOnly ];  
  if OpenDialog1.Execute then  
  begin  
    Icon := TIcon.Create;  
    try  
      Icon.Loadfromfile(OpenDialog1.FileName);  
      s:= ChangeFileExt(OpenDialog1.FileName,'.BMP');  
      Image1.Width := Icon.Width;  
      Image1.Height := Icon.Height;  
      Image1.Canvas.Draw(112,0,Icon);  
      Image1.Picture.SaveToFile(s);  
      ShowMessage(OpenDialog1.FileName + ' Saved to ' + s);  
    finally  
      Icon.Free;  
    end;  
  end;

ich hab dann folgendes geändert oder neugeschrieben

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:
begin
OpenDialog1.DefaultExt := '.BMP';
  OpenDialog1.Filter := 'Bitmap (*.bmp)|*.BMP';
  OpenDialog1.Options := [ofOverwritePrompt, ofFileMustExist, ofHideReadOnly ];
  if openDialog1.execute then
    Bitmap:=Tbitmap.Create;
    begin
      Image1.Picture.LoadFromFile(openDialog1.Filename);
    end;
  Bmp  := TBitmap.Create;
  Icon := TIcon.Create;
  try
    Bmp.Assign(Image1.Picture);
    ImageList := TImageList.CreateSize(Bmp.Width, Bmp.Height);
    try
      ImageList.AddMasked(Bmp, Bmp.TransparentColor);{hier is mein prob! bmp.transparentcolor}
      ImageList.GetIcon(0, Icon);
      // Save it to a file
      s:= ChangeFileExt(OpenDialog1.FileName,'.ICO');
      Icon.SaveToFile(s);
    finally
      ImageList.Free;
    end;
  finally
    Bmp.Free;
    Icon.Free;
  end;
  ShowMessage(OpenDialog1.FileName + ' Saved to ' + s);
end;

soweit so gut aber immer wenn ich konveriere kommt ein hässliches icon raus was warscheinlich an dem transparentcolor liegt es,gibt es da noch andere color eigenschaften?oder was muss ich machen das der es schön,richtig konvertiert?


huhn - Di 23.11.04 15:29

also hab mich ein wenig erkundigt und schlau über imagelist und so gemacht,und ich glaube des is nicht des richtige aber was kann ich sonst nehmen um ein bitmap oder image in ein icon zu convertieren? :cry:
Ich habs mal auch mit assign und so probiert was natürlich nicht klappt gibt es noch eine andere methode als mit den assign und imagelist,denn 16 farben find ich uncool
mfg huhn


Jakob Schöttl - Mo 10.07.06 15:56

Die gleiche Frage stell ich mir auch gerade: Wie konvertiert man ein Icon zu einem Bitmap?

Mir reicht schon ein Programm, dass Bild-Formate konvertieren kann! Ich muss nur ein paar Icons zur Entwurfszeit zu Bitmaps machen...

Hoffentlich kennt jemand so ein Programm, und könnte mir eins empfehlen.

Danke schon mal!


Regan - Mo 10.07.06 15:59

guggst du hier: http://www.delphi-forum.de/viewtopic.php?t=60829


Jakob Schöttl - Mo 10.07.06 16:20

Aber in diesem Topic gehts nur um "CreateIconFromBmp", also Icon zu Bitmap konvertieren, ich möchte es aber genau umgekehrt machen.


Regan - Mo 10.07.06 20:15

user profile iconbokaj hat folgendes geschrieben:
Aber in diesem Topic gehts nur um "CreateIconFromBmp", also Icon zu Bitmap konvertieren, ich möchte es aber genau umgekehrt machen.


Also irgendwie widersprichst du dich:

CreateIconFromBitmap = Kreiere (gesprochen: Kre - iere) ein Ico von einer Bitmap

Du sagst: also Icon zu Bitmap konvertieren (falsch), ich möchte es aber genau umgekehrt machen.

Dann ist das das Richtige. Falls du dich nur nicht deutsch ausdrücken kannst, hier das Gegenstück: Delphi-Libary [http://www.delphi-library.de/viewtopic.php?sid=69161ad754618eda7caa6b45afa2ff4a&t=21353&highlight=bmp%20ico]


Jakob Schöttl - Mo 10.07.06 20:38

Ok ok, dann hab ich mich hald einmal verschrieben!!

jedenfalls mein ich wie weiter oben schon deutlich hervorgehoben: ein icon zu bitmap konvertieren!

Aber vielen Dank trotzdem für den Link, Regan