FoxPro/Visual FoxPro - de BMP a ICO (Andrea)

 
Vista:
Imágen de perfil de Mauricio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

de BMP a ICO (Andrea)

Publicado por Mauricio (1541 intervenciones) el 18/08/2008 07:09:45
A continuación tiene 4 sencillas maneras de convertir un BMP a ICONO, usando GdiPlusX.
*
Este ejemplo usa 4 técnicas, y crea 4 versiones de ICONOS desde el mismo archivo de imagen.
Antes de la conversión, se cambia el tamaño a la imagen original al tamaño de 16x16. Esto significa que con este ejemplo puede convertir cualquier archivo de imagen a ICONO.
En la próxima versión, también esperamos entregar una solución completa para archivos .ICO, con el código muy simplificado, ofreciendo un gran soporte para archivos ICO, que no está presente en la versión .NET, gracias a Carlos Alloatti.
IMPORTANTE
Requiere VFP9 y GdiPlusX para funcionar.
Por favor asegúrese que tiene la última versión!
http://www.codeplex.com/VFPX/Wiki/View.aspx?title=GDIPlusX&referringTitle=Home
*
Do Locfile("system.prg")

With _Screen.System.Drawing As xfcDrawing
* Convertir el bitmap original para garantizar una mejor calidad y compatibilidad
loResized = .Bitmap.New(.Bitmap.FromFile(Getpict()), 16,16)

* Crear el objeto Icon
Local loIcon As xfcIcon
loIcon = .Icon.FromHandle(loResized.GetHicon())

*** ICONOS DE BAJA CALIDAD

* Guardar el archivo
loIcon.Save("c:Icon_Save_FileName_LowQual.ico")

* Guardar usando Stream
Local loStream As xfcMemoryStream
loStream = _Screen.System.IO.MemoryStream.New()

loIcon.Save(loStream)
Strtofile(loStream.GetBuffer(), "c:Icon_Save_Stream_LowQual.Ico")

*** ICONOS DE ALTA CALIDAD
*** Configurar el parámetro tlQuality a .T.

* Guardar el archivo
loIcon.Save("c:Icon_Save_FileName_HighQual.ico", .T.)

* Guardar usando Stream
Local loStream2 As xfcMemoryStream
loStream2 = _Screen.System.IO.MemoryStream.New()

loIcon.Save(loStream2, .T.)
Strtofile(loStream2.GetBuffer(), "c:Icon_Save_Stream_HighQual.Ico")

Endwith
*
Esto lo encontre en portalfox, espero les sirva algo.......
Saludos desde El Salvador........Mauricio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder