Por lo visto este tema se ha tratado muchas veces en el ClubDelphi...
No solucionado
Solucionado Pero no pude comprender esa página Rusa
Muy bueno el Vampyre Imaging Library, pero sin resultado
Cómo pueden apreciar las últimas dos páginas pueden ser la solución...
La 2da página que era una página Web Rusa, ponían un código para convertir un Bitmap a ico, pero el código no lo explican ni brindan información al respecto. Por lo que no pude entenderlo.
La tercera página donde recomiendan usar el
Vampyre Imaging Library, resulto muy buena opción para trabajar con imágenes en Delphi.
Pero después de leer toda la guía del componente, no pude encontrar una manera de realizar lo pedido.
Luego encontré en Trucomanía, la forma de convertir un icono a Bitmap, que si resultó pero con una complicación, pues la parte que debería ser "invisible" del ícono, se representa como una imagen de color blanco.
Aquí está lo que saque de Trucomania:
//Por si acaso el código es la continuación del procedimiento para "Capturar el icono de una aplicación" que puse arriba.
Código Delphi
[-]procedure TForm1.ConvertirImagen(Icono : String);
var
Bitmap : TBitmap;
Imagen : TImage;
begin
Imagen:= TImage.Create(nil);
Imagen.Picture:= Image1.Picture;
Bitmap:= TBitMap.Create;
with Bitmap do
begin
PixelFormat:= pf24bit;
Height:= Application.Icon.Height;
Width:= Application.Icon.Width;
Canvas.Draw( 0, 0, Imagen.Picture.Graphic );
end;
Bitmap.SavetoFile(Icono);
Imagen.Free;
end;
Para llamarlo solo escribes:
Código Delphi
[-]ConvertirImagen('boss.ico');
Lo malo es que la imagen guardada como ico queda un poco extraña, pero mucho mejor de lo que quedaba antes.
Ahora después de leer esta tediosa explicación, mi pregunta sería:
¿Cómo mejoraría esa inperfección de este código?
Seguiré investigando hasta darle con el clavo.
Nota.- No quería escribir esto hasta solucionar lo que busco, pero esto sirve como un avance para los que buscan hasta ahora converitir una imagen a ico.
Tambien para actualizar esta pregunta y si alguno ya sabe como hacerlo puedan aportarlo al ClubDelphi.
Pues este procedimiento que quiero realizar no lo necesito actualmente, pero sé que en el futuro me servirá, y sobre todo a muchas personas que necesita una ayuda con Delphi.