Discussion:
imagen transparente
(demasiado antiguo para responder)
Miguel F
2008-06-19 00:16:22 UTC
Permalink
hola.
tengo un panel donde estoy dibujando con las funciones de .Net, dibujo
rectangulos, el problema lo tengo cuando despues de dibujar, pongo un
picturebox con una imagen tipo gif o icono, que tiene trasparencia,

lo que me ocurre es que lo que transparente el picturebox, es el fondo real
del picturebox, no lo que yo dibujo, me explico mejor a ver si me entendeis.

yo tengo una imagen en el panel, y dibujo rectangulos de colores, cuando
pongo un picturebox con transparencia como un gif o un icono, lo que se ve
en el fondo del picturebox es la imagen del panel y no los rectangulos que
yo he dibujado.

¿como puedo hacer para dibujar rectangulos y cuando ponga un picturebox con
un icono, se vean detras estos restangulos o lo que yo dibuje?

saludos.
Ivan
2008-06-19 01:18:35 UTC
Permalink
hola Miguel
Post by Miguel F
¿como puedo hacer para dibujar rectangulos y cuando ponga un picturebox con
un icono, se vean detras estos restangulos o lo que yo dibuje?
¿has probado a poner el backColor del picturebox en transparente?
¨{dando por hecho que a las imagenes que cargues en el picturebox
tambien las das algun grado de trasparencia]

si te he entendido bien, a mi parece funcionarme

un saludo
Ivan
Ivan
2008-06-19 20:54:10 UTC
Permalink
hola a todos de nuevo,

bueno, ante la no respuesta de Miguel, y para no dejar el hilo 'cojo',
me respondo yo solo (..puro vicio ;-))

efectivamente, para la consulta hecho por OP, parece que simplemente
basta con poner el backcolor en transparente

tal y como se plante la consulta se da por hecho que las imagenes /
iconos cargados ya estan tratados para tener el adecuado grado de
transparencia que permita ver lo que 'haya' detras (dificilmente se
podra ver nada a traves de algo opaco)

siendo asi, lo unico que entorpece la visibilidad del panel es el
backcolor del picturebox, cambiar el cual realmente es sumamente
secillo.

otra cosa es cargar las imagenes adecuadamente

no estoy muy seguro si este ej. que voy a poner es demasiado
'adecuado', pero funciona bastante bien.

a) la funcion " PictBoxTransparentoso" es la que hace realmente lo que
buscamos, cargar en un picturebox un icono (o imagen) con un grado de
transparencia que permita ver lo que haya detras, y por supuesto
ponemos el backcolor del pb en transparente

a) por otro lado, la funcion "panelGraficado" solo es para crear un
panel graficado en el que hacer las pruebas con los picturebox (ha
sido casi de chiripa, pero la verdad es que queda hasta bonito,
je,je, ...)


c) un ej. de uso en el load de un formulario

Nota: una recomendacion si alguien quiere probarlo es que agrande un
poco el form original/habitual del ide de VB, para no correr el riesgo
de quedarnos cortos

posiblemente tambien convendria controlar varios factores de riesgo de
error (pej, que no exista o sea incorrecta la ruta de las imagenes)

bueno, estas son las funciones OJO a los posibles trunque del codigo
en el editor del foro)=>

' crear un form vacio, agrandarlo un poco y poner este codigo en su
modulo
'-----------------------------------------------------------
'Public Class Form1
'
' constantes para las imagenes/iconos (cambiar por unas validas)
'
Private Const CarpetaIconos As String = _
"C:\Documents and Settings\Ivan\Mis documentos\Mis Iconos
\Iconos_RV_Net\"
Private Const Iconos As String = _

"Ajuste_Color.ico,Contraste.ico,Cuentagotas.ico,delete.ico,Recortar.ico,Cortar.ico"
'
' carga una imagen en un picturebox creado al efecto y con
' el grado de transparencia indicado
' parametros:
' pNombre => nombre que se va a poner al picture
' pRect => rectangle con ubicacion y medidas del pb.
' archivoImg => ruta y nombre de la imagen
' pAlpha => un valorentre 0 y 255 que indicara el
' grado de trasparencia (0 = transparente, 255 = opaco)
'
Private Function PictBoxTransparentoso( _
ByVal pNombre As String, _
ByVal pRect As Rectangle, _
ByVal archivoImg As String, _
ByVal pAlpha As Integer) As PictureBox
Dim pPb As New PictureBox
With pPb
.Name = pNombre
.SizeMode = PictureBoxSizeMode.Zoom
.SetBounds(pRect.X, pRect.Y, pRect.Width, pRect.Height)
Dim bm As New
Bitmap(.ClientSize.Width, .ClientSize.Height)
bm = Image.FromFile(archivoImg)
Dim x, y As Integer
Dim bm2 As New Bitmap(bm.Width, bm.Height)
For x = 0 To bm.Width - 1
For y = 0 To bm.Height - 1
Dim pixCl As Color = bm.GetPixel(x, y)
If pAlpha < 0 OrElse pAlpha > 255 Then pAlpha =
127
Dim newColor As Color = _
Color.FromArgb(pAlpha, pixCl.R, pixCl.G,
pixCl.B)
bm2.SetPixel(x, y, newColor)
Next
Next
.Image = bm2
.BackColor = Color.Transparent
End With
Return pPb
End Function
'
' crea un panel con una serie de graficos 'dibujados' para
' hacer las pruebas de los picturebox
' Parametros:
' pNombre => nombre para el panel
' pRect => rectangle con ubicacion y medidas del panel
'
Private Function Panelgraficado( _
ByVal pNombre As String, _
ByVal pRect As Rectangle) As Panel
Dim vP As New Panel
With vP
.Name = pNombre
.SetBounds(pRect.X, pRect.Y, pRect.Width, pRect.Height)
Dim bm As New
Bitmap(.ClientSize.Width, .ClientSize.Height)
.BackgroundImage = bm
Dim gh As Graphics = Graphics.FromImage(.BackgroundImage)
Dim vCentro As New Point(CInt(bm.Width / 2),
CInt(bm.Height / 2))
Dim vL As Integer = vCentro.X - 20, vT As Integer =
vCentro.Y - 20
Dim stp As Integer = 20
If CInt(vT / stp) > 0 Then
Dim x, y As Integer
For x = 10 To vL Step stp
For y = 10 To vT Step stp
Dim rect As New Rectangle(x, y, (vCentro.X *
2) - _
(x * 2), (vCentro.Y * 2) - (y * 2))
gh.DrawEllipse(Pens.Red, rect)
gh.DrawRectangle(Pens.Violet, rect)
Dim p() As Point = { _
New Point(x, vCentro.Y), _
New Point(vCentro.X, y), _
New Point(vCentro.X + x, vCentro.Y), _
New Point(vCentro.X, vCentro.Y + y)}
gh.DrawPolygon(Pens.Yellow, p)
Next
Next
End If
gh.Dispose() : gh = Nothing
End With
Return vP
End Function
'
' en el load del form desarrollamos el proceso
'
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
'
' creamos y 'graficamos' el panel
Dim panelFondo As Panel = _
Panelgraficado("PanelF", Me.ClientRectangle)
'
Dim n As Integer
Dim carpeta As String = ""
'
' recorremos los iconos de la constante idem
For n = 0 To Iconos.Split(",").Length - 1
carpeta = CarpetaIconos & Iconos.Split(",")(n)
'
' asignamos ubicacion y medidas para los iconos y pictb.
Dim rect As New Rectangle(30 + (30 * n), 20 + (20 * n),
22, 22)
'
' creamos los picturebox cargando los iconos con
' el grado de trasparencia indicado en el ultimo
parametro
Dim PictureB As PictureBox = _
PictBoxTransparentoso("PictTrans" & n, _
rect, carpeta, 100)
'
' cargamos los picturbox en el panel
panelFondo.Controls.Add(PictureB)
Next
'
' cargamos el panel en el form
Me.Controls.Add(panelFondo)
End Sub
'
End Class

bueno, ya que esta, por si a alguien le sirve (y si alguien ve alguna
burrada o lo que sea, se agradecen los comentarios)

un saludo
Ivan
Ivan
2008-06-19 22:05:47 UTC
Permalink
hola de nuevo,

acabo de eliminar un mensje practicamente igual a este, por que habia
demasiados 'trunques' en el foro (al menos via web) y para quitar un
par de reiteraciones innecesarias.

aparte en las pruebas creo que ahora queda 'mas guapo', que se dice
por ahi. Aunque los codigos so n algo largos lpara la prueba basta
copiar y pegar, y modificar unicamente las dos constantes de inicio.
OJO tal y como esta ahora no se deben de poner mas de 10 iconos en la
constante Iconos. Y tampoco recomiendo que menos, pues con diez se ve
muy bien.

bueno, este es integranmente el mensaje eliminado, excepto en las
modificaciones del codigo (espero que ahora no se trunque

'''''''''''''''mensaje eliminado para arreglar un poco
''''''''''''''''''

hola a todos de nuevo,

bueno, ante la no respuesta de Miguel, y para no dejar el hilo
'cojo',
me respondo yo solo (..puro vicio ;-))


efectivamente, para la consulta hecho por OP, parece que simplemente
basta con poner el backcolor en transparente


tal y como se plante la consulta se da por hecho que las imagenes /
iconos cargados ya estan tratados para tener el adecuado grado de
transparencia que permita ver lo que 'haya' detras (dificilmente se
podra ver nada a traves de algo opaco)


siendo asi, lo unico que entorpece la visibilidad del panel es el
backcolor del picturebox, cambiar el cual realmente es sumamente
secillo.


otra cosa es cargar las imagenes adecuadamente


no estoy muy seguro si este ej. que voy a poner es demasiado
'adecuado', pero funciona bastante bien.


a) la funcion " PictBoxTransparentoso" es la que hace realmente lo
que
buscamos, cargar en un picturebox un icono (o imagen) con un grado de
transparencia que permita ver lo que haya detras, y por supuesto
ponemos el backcolor del pb en transparente


a) por otro lado, la funcion "panelGraficado" solo es para crear un
panel graficado en el que hacer las pruebas con los picturebox (ha
sido casi de chiripa, pero la verdad es que queda hasta bonito,
je,je, ...)


c) un ej. de uso en el load de un formulario


Nota: una recomendacion si alguien quiere probarlo es que agrande un
poco el form original/habitual del ide de VB, para no correr el
riesgo
de quedarnos cortos


posiblemente tambien convendria controlar varios factores de riesgo
de
error (pej, que no exista o sea incorrecta la ruta de las imagenes)


bueno, estas son las funciones OJO a los posibles trunque del codigo
en el editor del foro)=>


' crear un form vacio, agrandarlo un poco y poner este codigo en su
modulo
'-----------------------------------------------------------

Public Class Form1
'
' constantes para las imagenes/iconos
'
Private Const CarpetaIconos As String = _
"C:\Documents and Settings\Ivan\Mis documentos\Mis Iconos
\Iconos_RV_Net\"
Private Const Iconos As String = _
"Ajuste_Color.ico,Contraste.ico,Cuentagotas.ico," & _
"delete.ico,Recortar.ico,Cortar.ico,Abrir.ico,Rellenar.ico," &
_
"Imagenes.ico,Iluminacion.ico"
'
' carga una imagen en un picturebox creado al efecto y con
' el grado de transparencia indicado
' parametros:
' pNombre => nombre que se va a poner al picture
' pRect => rectangle con ubicacion y medidas del pb.
' archivoImg => ruta y nombre de la imagen
' pAlpha => un valorentre 0 y 255 que indicara el
' grado de trasparencia (0 = transparente, 255 = opaco)
'
Private Function PictBoxTransparentoso( _
ByVal pNombre As String, _
ByVal pRect As Rectangle, _
ByVal archivoImg As String, _
ByVal pAlpha As Integer) As PictureBox
Dim pPb As New PictureBox
With pPb
.Name = pNombre
.SizeMode = PictureBoxSizeMode.Zoom
.SetBounds(pRect.X, pRect.Y, _
pRect.Width, pRect.Height)
Dim bm As New Bitmap( _
.ClientSize.Width, .ClientSize.Height)
bm = Image.FromFile(archivoImg)
Dim x, y As Integer
Dim bm2 As New Bitmap(bm.Width, bm.Height)
If pAlpha < 0 OrElse pAlpha > 255 Then _
pAlpha = 127
For x = 0 To bm.Width - 1
For y = 0 To bm.Height - 1
Dim pixCl As Color = bm.GetPixel(x, y)
Dim newColor As Color = _
Color.FromArgb(pAlpha, pixCl.R, _
pixCl.G, pixCl.B)
bm2.SetPixel(x, y, newColor)
Next
Next
.Image = bm2
.BackColor = Color.Transparent
End With
Return pPb
End Function
'
' crea un panel con una serie de graficos 'dibujados' para
' hacer las pruebas de los picturebox
' Parametros:
' pNombre => nombre para el panel
' pRect => rectangle con ubicacion y medidas del panel
'
Private Function Panelgraficado( _
ByVal pNombre As String, _
ByVal pRect As Rectangle) As Panel
Dim vP As New Panel
With vP
.Name = pNombre
.SetBounds(pRect.X, pRect.Y, _
pRect.Width, pRect.Height)
Dim bm As New Bitmap( _
.ClientSize.Width, .ClientSize.Height)
.BackgroundImage = bm
Dim gh As Graphics = _
Graphics.FromImage(.BackgroundImage)
Dim vCentro As New Point( _
CInt(bm.Width / 2), CInt(bm.Height / 2))
Dim vL As Integer = vCentro.X - 20
Dim vT As Integer = vCentro.Y - 20
Dim stp As Integer = 20
If CInt(vT / stp) > 0 Then
Dim x, y As Integer
For x = 10 To vL Step stp
For y = 10 To vT Step stp
Dim rect As New Rectangle( _
x, y, (vCentro.X * 2) - (x * 2), _
(vCentro.Y * 2) - (y * 2))
gh.DrawEllipse(Pens.Red, rect)
gh.DrawRectangle(Pens.Violet, rect)
Dim p() As Point = { _
New Point(x, vCentro.Y), _
New Point(vCentro.X, y), _
New Point(vCentro.X + x, vCentro.Y), _
New Point(vCentro.X, vCentro.Y + y)}
gh.DrawPolygon(Pens.Yellow, p)
Next
Next
End If
gh.Dispose() : gh = Nothing
End With
Return vP
End Function
'
' en el load del form desarrollamos el proceso
'
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
'
Me.WindowState = FormWindowState.Maximized
' creamos y 'graficamos' el panel
Dim panelFondo As Panel = _
Panelgraficado("PanelF", Me.ClientRectangle)
'
Dim n As Integer
Dim carpeta As String = ""
'
' recorremos los iconos de la constante idem
For n = 0 To Iconos.Split(",").Length - 1
carpeta = CarpetaIconos & Iconos.Split(",")(n)
'
' rect ubicacion y medidas para iconos y pictb.
Dim rect As New Rectangle( _
30 + (30 * n), 20 + (20 * n), _
22 + (22 * n), 22 + (22 * n))
'
' creamos los picturebox cargando los iconos con
' el grado de trasparencia segun el ultimo parametro
Dim PictureB As PictureBox = _
PictBoxTransparentoso("PictTrans" & n, _
rect, carpeta, 255 - (25 * n))
'
' cargamos los picturbox en el panel
panelFondo.Controls.Add(PictureB)
Next
'
' cargamos el panel en el form
Me.Controls.Add(panelFondo)
End Sub

End Class

bueno, ya que esta, por si a alguien le sirve (y si alguien ve alguna
burrada o lo que sea, se agradecen los comentarios)


un saludo
Ivan
Miguel F
2008-06-19 23:08:20 UTC
Permalink
hola ivan, a ver si este llega, he respondido dos veces a este hilo, pero no
se por que nose publica, por que yo si lo tengo en la bandeja de salida.

mira el nuevo hilo que abrí diciendo "YA LO LOGREEEEE ..." que hay pongo la
solución que al final encontré, perdinar que lo pusiera en otro hilo, se me
fue la cabeza, ha sido un despiste. Ya me lo dijo jhonny con toda la razón.

Bueno, seguimos investigando y aprendiendo, que con .Net no creas que es
poca cosa, jeje.

saludos.
Post by Ivan
hola de nuevo,
acabo de eliminar un mensje practicamente igual a este, por que habia
demasiados 'trunques' en el foro (al menos via web) y para quitar un
par de reiteraciones innecesarias.
aparte en las pruebas creo que ahora queda 'mas guapo', que se dice
por ahi. Aunque los codigos so n algo largos lpara la prueba basta
copiar y pegar, y modificar unicamente las dos constantes de inicio.
OJO tal y como esta ahora no se deben de poner mas de 10 iconos en la
constante Iconos. Y tampoco recomiendo que menos, pues con diez se ve
muy bien.
bueno, este es integranmente el mensaje eliminado, excepto en las
modificaciones del codigo (espero que ahora no se trunque
'''''''''''''''mensaje eliminado para arreglar un poco
''''''''''''''''''
hola a todos de nuevo,
bueno, ante la no respuesta de Miguel, y para no dejar el hilo
'cojo',
me respondo yo solo (..puro vicio ;-))
efectivamente, para la consulta hecho por OP, parece que simplemente
basta con poner el backcolor en transparente
tal y como se plante la consulta se da por hecho que las imagenes /
iconos cargados ya estan tratados para tener el adecuado grado de
transparencia que permita ver lo que 'haya' detras (dificilmente se
podra ver nada a traves de algo opaco)
siendo asi, lo unico que entorpece la visibilidad del panel es el
backcolor del picturebox, cambiar el cual realmente es sumamente
secillo.
otra cosa es cargar las imagenes adecuadamente
no estoy muy seguro si este ej. que voy a poner es demasiado
'adecuado', pero funciona bastante bien.
a) la funcion " PictBoxTransparentoso" es la que hace realmente lo
que
buscamos, cargar en un picturebox un icono (o imagen) con un grado de
transparencia que permita ver lo que haya detras, y por supuesto
ponemos el backcolor del pb en transparente
a) por otro lado, la funcion "panelGraficado" solo es para crear un
panel graficado en el que hacer las pruebas con los picturebox (ha
sido casi de chiripa, pero la verdad es que queda hasta bonito,
je,je, ...)
c) un ej. de uso en el load de un formulario
Nota: una recomendacion si alguien quiere probarlo es que agrande un
poco el form original/habitual del ide de VB, para no correr el
riesgo
de quedarnos cortos
posiblemente tambien convendria controlar varios factores de riesgo
de
error (pej, que no exista o sea incorrecta la ruta de las imagenes)
bueno, estas son las funciones OJO a los posibles trunque del codigo
en el editor del foro)=>
' crear un form vacio, agrandarlo un poco y poner este codigo en su
modulo
'-----------------------------------------------------------
Public Class Form1
'
' constantes para las imagenes/iconos
'
Private Const CarpetaIconos As String = _
"C:\Documents and Settings\Ivan\Mis documentos\Mis Iconos
\Iconos_RV_Net\"
Private Const Iconos As String = _
"Ajuste_Color.ico,Contraste.ico,Cuentagotas.ico," & _
"delete.ico,Recortar.ico,Cortar.ico,Abrir.ico,Rellenar.ico," &
_
"Imagenes.ico,Iluminacion.ico"
'
' carga una imagen en un picturebox creado al efecto y con
' el grado de transparencia indicado
' pNombre => nombre que se va a poner al picture
' pRect => rectangle con ubicacion y medidas del pb.
' archivoImg => ruta y nombre de la imagen
' pAlpha => un valorentre 0 y 255 que indicara el
' grado de trasparencia (0 = transparente, 255 = opaco)
'
Private Function PictBoxTransparentoso( _
ByVal pNombre As String, _
ByVal pRect As Rectangle, _
ByVal archivoImg As String, _
ByVal pAlpha As Integer) As PictureBox
Dim pPb As New PictureBox
With pPb
.Name = pNombre
.SizeMode = PictureBoxSizeMode.Zoom
.SetBounds(pRect.X, pRect.Y, _
pRect.Width, pRect.Height)
Dim bm As New Bitmap( _
.ClientSize.Width, .ClientSize.Height)
bm = Image.FromFile(archivoImg)
Dim x, y As Integer
Dim bm2 As New Bitmap(bm.Width, bm.Height)
If pAlpha < 0 OrElse pAlpha > 255 Then _
pAlpha = 127
For x = 0 To bm.Width - 1
For y = 0 To bm.Height - 1
Dim pixCl As Color = bm.GetPixel(x, y)
Dim newColor As Color = _
Color.FromArgb(pAlpha, pixCl.R, _
pixCl.G, pixCl.B)
bm2.SetPixel(x, y, newColor)
Next
Next
.Image = bm2
.BackColor = Color.Transparent
End With
Return pPb
End Function
'
' crea un panel con una serie de graficos 'dibujados' para
' hacer las pruebas de los picturebox
' pNombre => nombre para el panel
' pRect => rectangle con ubicacion y medidas del panel
'
Private Function Panelgraficado( _
ByVal pNombre As String, _
ByVal pRect As Rectangle) As Panel
Dim vP As New Panel
With vP
.Name = pNombre
.SetBounds(pRect.X, pRect.Y, _
pRect.Width, pRect.Height)
Dim bm As New Bitmap( _
.ClientSize.Width, .ClientSize.Height)
.BackgroundImage = bm
Dim gh As Graphics = _
Graphics.FromImage(.BackgroundImage)
Dim vCentro As New Point( _
CInt(bm.Width / 2), CInt(bm.Height / 2))
Dim vL As Integer = vCentro.X - 20
Dim vT As Integer = vCentro.Y - 20
Dim stp As Integer = 20
If CInt(vT / stp) > 0 Then
Dim x, y As Integer
For x = 10 To vL Step stp
For y = 10 To vT Step stp
Dim rect As New Rectangle( _
x, y, (vCentro.X * 2) - (x * 2), _
(vCentro.Y * 2) - (y * 2))
gh.DrawEllipse(Pens.Red, rect)
gh.DrawRectangle(Pens.Violet, rect)
Dim p() As Point = { _
New Point(x, vCentro.Y), _
New Point(vCentro.X, y), _
New Point(vCentro.X + x, vCentro.Y), _
New Point(vCentro.X, vCentro.Y + y)}
gh.DrawPolygon(Pens.Yellow, p)
Next
Next
End If
gh.Dispose() : gh = Nothing
End With
Return vP
End Function
'
' en el load del form desarrollamos el proceso
'
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
'
Me.WindowState = FormWindowState.Maximized
' creamos y 'graficamos' el panel
Dim panelFondo As Panel = _
Panelgraficado("PanelF", Me.ClientRectangle)
'
Dim n As Integer
Dim carpeta As String = ""
'
' recorremos los iconos de la constante idem
For n = 0 To Iconos.Split(",").Length - 1
carpeta = CarpetaIconos & Iconos.Split(",")(n)
'
' rect ubicacion y medidas para iconos y pictb.
Dim rect As New Rectangle( _
30 + (30 * n), 20 + (20 * n), _
22 + (22 * n), 22 + (22 * n))
'
' creamos los picturebox cargando los iconos con
' el grado de trasparencia segun el ultimo parametro
Dim PictureB As PictureBox = _
PictBoxTransparentoso("PictTrans" & n, _
rect, carpeta, 255 - (25 * n))
'
' cargamos los picturbox en el panel
panelFondo.Controls.Add(PictureB)
Next
'
' cargamos el panel en el form
Me.Controls.Add(panelFondo)
End Sub
End Class
bueno, ya que esta, por si a alguien le sirve (y si alguien ve alguna
burrada o lo que sea, se agradecen los comentarios)
un saludo
Ivan
Ivan
2008-06-20 01:00:14 UTC
Permalink
hola Miguel,
Post by Miguel F
hola ivan, a ver si este llega, he respondido dos veces a este hilo, pero no
se por que nose publica, por que yo si lo tengo en la bandeja de salida.
no te preocupes, lo mio es puro egoismo [el que aprende soy yo]
Post by Miguel F
mira el nuevo hilo que abrí diciendo "YA LO LOGREEEEE ..."
ya lo habia visto [con esas voces,..8-) ..),

De todas formas, si te animas a echar un ojo a mi ej. (es muy sencillo
de probar, solo asegurate de poner en la constante Iconos los nomres
de 10 iconos separados unicamente por 1 coma, sin ningun espacio y de
acabar el nombre de la carpeta con una barra invertida), ya me diras
que te parece

la verdad es que ha quedado {casi} espectacular (al menos para mi)

un saludo
Ivan
Miguel F
2008-06-21 10:25:42 UTC
Permalink
Hola ivan, he visto tu ejemplo y está brutal, es buenisimo, pero mi
solución, solo necesita tres o cuatro líneas de código nada mas, y
conseguimos el mismo resultado, y además con iconos grandes, mi ejemplo va
mucho mas rápido, por que hay una cosa que no han mejora los del .Net y es
la velocidad del setpixel y getpixel que sigue siendo mas lenta que el
caballo del malo.

gracias ivan, seguimos aprendiendo-


"Ivan" <***@gmail.com> escribi� en el mensaje news:4c99d78d-c6da-4282-ac49-***@k13g2000hse.googlegroups.com...
hola Miguel,
Post by Miguel F
hola ivan, a ver si este llega, he respondido dos veces a este hilo, pero no
se por que nose publica, por que yo si lo tengo en la bandeja de salida.
no te preocupes, lo mio es puro egoismo [el que aprende soy yo]
Post by Miguel F
mira el nuevo hilo que abrí diciendo "YA LO LOGREEEEE ..."
ya lo habia visto [con esas voces,..8-) ..),

De todas formas, si te animas a echar un ojo a mi ej. (es muy sencillo
de probar, solo asegurate de poner en la constante Iconos los nomres
de 10 iconos separados unicamente por 1 coma, sin ningun espacio y de
acabar el nombre de la carpeta con una barra invertida), ya me diras
que te parece

la verdad es que ha quedado {casi} espectacular (al menos para mi)

un saludo
Ivan

Loading...