elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Lockbits ???? AYUDA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Lockbits ???? AYUDA  (Leído 3,157 veces)
NeoXero

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Lockbits ???? AYUDA
« en: 22 Octubre 2007, 02:35 am »

aalguien me podria ayudar a comprender mejor la funcion LockBits en C# y VB. Net, ya que baje un ejemplo pero pss nada mas es inversion de color y lo que yo quiero hacer es
por ejemplo trabajamos con imagenes hechas en paint fondo blanco y figuras(circulos,triangulos,etc ) solidas de color  entonces detectar cuando en la figura  cambia de un pixel de color a un pixel blanco para entonces hacerle un desvanecido
ya consegui e l desvanecido a la derecha pero me toma como 30segundos el proceso.
En el ejemplo que les mencionaba de lockbits para la inversion tardo 0.5 segundos, nada que ver con 30 segundos de mi proceso que es algo mas sencillo!!!
Bueno anexo mi proyecto en C# 2005 para que lo vean

 http://gtrejo.freeweb7.com/graficacion%20segunda.rar

PD.- Anexo el archivo que utilizo para la prueba (test.bmp) y tengo la variable FOTO en el codigo declarada y es donde cargo test.bmp pero no supe com detectar el directorio del proyecto asi que tiene que configurarse la ruta del archivo


En línea

Cegik

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Lockbits ???? AYUDA
« Respuesta #1 en: 26 Octubre 2007, 00:26 am »

No se exactamente toda la funionalidad que deseas en esa aplicaion, pero he traducido el codigo de Sombra a la derecha para que utilice LockBits, espero que te sirva de guia para lo que deseas hacer...

este es el link:
http://rapidshare.com/files/65184688/graficacion_segunda.zip.html

Porfavor comentame cualquier problema.


En línea

NeoXero

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Lockbits ???? AYUDA
« Respuesta #2 en: 26 Octubre 2007, 00:35 am »

ok ay lo pruebo pa ver que tall !!! de antemano gracias amigo
En línea

NeoXero

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: Lockbits ???? AYUDA
« Respuesta #3 en: 30 Octubre 2007, 04:32 am »

hey amigo disculpa no entendi donde pusiste CSIG== -1 ?? 
por ejemplo si quisiera que la sombra saliera tambien a la izquierda y arriba y abajo  ????
o sea que   kreara un degradado en todo el contorno  o que si se encuentran2 figuras pegadas de distinto color que cree una mezcla de ambos  y haga difuminado de el color 1 a el centro y de el color 2 hacia el centro
PD: no se que   tanta experiencia tengas en C#  pero me gustaria agregarte al msn por si me surgieran algunas dudas 
De antemano gracias  y espero tu respuesta . mi mail es LOST__LINK@hotmail.com
En línea

gusman

Desconectado Desconectado

Mensajes: 43



Ver Perfil WWW
Re: Lockbits ???? AYUDA
« Respuesta #4 en: 5 Noviembre 2007, 00:09 am »

Buenas.

Veo que lo que te interesa son rutinas de dibujado rápidas para poder crear efectos.

Si quieres usar LockBits tengo en mi Web un ejemplo de como se usa, para poder copiar imágenes mediante CopyMemory y también desde ensamblador directo ( :O ).

Te adelanto que el LockBits lo que hace es fijar una zona de memoria de la imagen y nos devuelve el puntero a la dirección del primer scanline.

Si no sabes lo que es un scanline ni el stride de este mira en mi web, ahí lo explico.

Otra solución puede ser utilizar unas matrices de transformación para:
1-Eliminar los píxeles de color blanco (o el color que elijas)
1-Redibujar la imágen con el color eliminado y aplicando una matriz de transformación de color que la vaya haciendo transparente.
En línea

No está muerto todo lo que yace y con extraños evos hasta la misma muerte puede morir.
Cegik

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Lockbits ???? AYUDA
« Respuesta #5 en: 7 Noviembre 2007, 22:35 pm »

Ok, RtlMoveMemory (para los que saben) CopyMemory es una alternativa buena en Win32 (de hecho la mejor si sabemos menejar los formatos de bits y no tenemos aceleracion grafica) pero no se si sea compatible con las nuevas plataformas (lo digo por .Net 3 WinFx y Vista) si alguno sabe si sirven bien (y si utiliza una maquina virtual para emular win32 o no) seria interesante usarlo, igual no es muy dificil. pero si quieren velocidad prueben DirecX 9, XNA (si tienen una buena tarjeta) o OpenGl.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines