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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1] 2 3 4
1  Programación / Programación General / visualización gráfica de la ia de lps engine en: 25 Septiembre 2015, 14:08 pm
Un saludo, llevo tiempo sin postear por aquí, algunos recordareis que comencé el proyecto de un engine rpg con un aire retro hace un par de años, sigo con ello. Os muestro una curiosidad, el nuevo sistema de debug gráfico a tiempo real de la inteligencia artificial de los bots. Las líneas rojas y cian son "detecciones", las amarillas representan un objetivo sin alcanzar y las grises indican el objetivo de un bot. Ésto me permite observar bien como se comportan los actores para afinar mejor el algoritmo que los mueve, e incluso me está dando ideas nuevas sobre como analizar la escena.

2  Sistemas Operativos / GNU/Linux / ¿alguien usa linux sobre hardware arm? en: 23 Noviembre 2013, 23:19 pm
eso, tengo desde hace tiempo debian en mi tableta sobre arm. He tenido problemas para hacer funcionar algunos softwares como mono develop o wireshark y me gustaria aclarar un par de dudas existenciales que me surgen. ¿alguien ha trasteado con arm?
3  Programación / .NET (C#, VB.NET, ASP) / Asi va quedando mi rpg game engine en: 2 Julio 2013, 16:28 pm
Bueno, llevo mucho tiempo con esto y aún noto que no he hecho nada más que empezar. El proyecto se llama Living Paper Source y se trata de una suite para la creación de videojuegos 2D rpg a tiempo real. Todo está basado en un control de usuario al que llamo "screen" que me simplifica el trabajo de manejar gráficos con gdi+. El control me permite agregar sprites sobre un mapa de tal forma que no tengo que preocuparme por detalles del funcionamiento interno.

El entorno ofrece también un lenguaje de scripting específico al que he llamado satanas scripting (>:D) que, aunque ahora mismo está en una fase muy inicial, permitirá definir todo tipo de comportamientos basados en eventos. En el vídeo muestro más que nada el funcionamiento básico del editor de mapas como vista conceptual de lo que será en un futuro.



por cierto, todo sin dlls importadas, ni directx ni nada por el estilo, para el dibujado utilizo gdi+.
4  Programación / .NET (C#, VB.NET, ASP) / Visual basic studio (WTF?) fallo del ide en: 12 Junio 2013, 13:57 pm
Bueno, me siento frustrado. Como muchos sabeis programo sobre el ide de microsoft, con el cual en general he estado muy contento, pero ayer, derrepente y sin avisar dejó de funcionar. Pero no ha dejado de funcionar sin más, ha dejado de funcionar mi instalación y TODOS los instalables que intento ejecutar.

Este es el fallo que se me muestra cuando abro el vbstudio, pero también cuando abro el instalador web y cuando abro cualquier otro tipo de instalador de vb. Joder, esto es desesperante, he reinstalado el framework 4.5 y nada, de hecho, el framework funciona correctamente y no se qué se supone que debo hacer.



¿alguna idea? ¿pruebo con el suicidio?
5  Comunicaciones / Redes / ¿Firmware especial para este router zyxel? en: 14 Febrero 2013, 07:15 am
Bueno, el tema es que tengo un par de routers adsl Zyxel de telefónica que no uso modelo P660HW-D1. El aparato tiene un interface dentro donde, al parecer se le conecta un cable para flashearlo, pero leyendo por internet sobre el tema parece que solo hay dos firmwares disponibles, el de telefónica y el de zyxel, y deben de ser parecidos, pero, no se... un router viene a ser un miniordenador en miniatura y se me pasa por la cabeza que alguien puede haber creado firmwares no oficiales que se pudieran instalar, algo que transforme el trasto en otra cosa más útil, no se, por ejemplo algo con lo que pudiera conectarme remotamente al aparato para escanear ips o ejecutar otros programas desde una especie de shell, o algo como una máquina virtual para correr códigos, no se.

No creo que sea algo tan descabellado, aunque entiendo que debería ser bastante específico para el aparato ¿sabeis por donde podría comenzar a buscar información? tengo dos, no me importa experimentar con uno de ellos y hacer un pisapapeles. Gracias por anticipado.
6  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] Lo flipo con directX, no puede ser tan complicado en: 12 Enero 2013, 05:19 am
Llevo horas tratando de importar la librería de directx a mi código, ha sido una locura porque no me aparecía en la lista y en internet me ha costado un siglo encontrar a alguien con el mismo problema. Finalmente lo he encontrado, he buscado la dll en el lugar indicado y la he referenciado a mano. Cuando pienso que ha pasado lo más complicado sigo unos tutoriales para ir familiarizándome con el entorno. Perfilo un objeto que crea la superficie y la pinta de azul, trato de depurarlo y me encuentro con esto:



Desconcertante como poco, ¿teneis idea de porqué me pasa esto?
7  Programación / .NET (C#, VB.NET, ASP) / ¿que técnica asíncrona debo usar? en: 11 Enero 2013, 23:38 pm
Bueno, el tema es que tengo un programa en visual basic que para funcionar tiene que ejecutar un "main loop" constantemente, en el loop se envían señales a otros formularios que son con los que interactua el usuario. El timer se me quedó corto así que busqué maneras más rápidas de ejecutar el main loop, comencé a reprogramarlo en modo consola con dos while anidados y usando un tickcounter para que el ciclo sea sincronizado. La velocidad es como 100 veces más rápida, pero ahora tengo un problema.

Al instanciar un formulario desde el main loop y mostrarlo éste parece estar todo el tiempo en espera (cargando, con el relogito) y aunque recibe las órdenes que le llegan del main loop no dispara sus eventos correctamente. Parece ser que no puedo hacerlo en un solo hilo, así que supongo que habrá una manera de hacer correr el formulario en otro. He leido sobre los métodos asíncronos en visualbasic.net, y veo que hay formas diferentes de hacerlo, algunas me sirven y otras no. El tema es que necesito mucha velocidad, porque los mensajes que recibe el form se traducen en ordenes gdi para dibujar objetos, pero a la vez no quiero cuellos de botella ni parones mientras el main loop está en espera.

¿Teneis alguna idea de por dónde tirar? ¿qué tipo de método asíncrono me garantiza que los dos hilos corran bien y puedan comunicarse?
8  Foros Generales / Foro Libre / La verdad sobre navarra [Los trileros forales] [docu] en: 31 Diciembre 2012, 03:45 am
En fin, así está en mi tierra el panorama, espero que tengan menos ladrones en la suya.
9  Foros Generales / Foro Libre / LA PALABRA INFINITA [relato corto de ciencia ficción] en: 24 Septiembre 2012, 18:06 pm

Citar
__________________ introducción

Mi nombre es Alan Twin, ingeniero técnico en programación de sistemas. He trabajado para ibm, motorola, conexant y recientemente para amd en el diseño de lenguajes para máquinas cuánticas. El diseño de la serie x2n se presentó como un atractivo trabajo, experimental, revolucionario y bien pagado. Muy interesante el planteamiento, aprovechando los últimos descubrimientos científicos para tratar de crear no una inteligencia artificial, sino una conciencia funcional.

Antes de explicar los hechos se deben aclarar los aspectos físicos que se han aprovechado para perfilar el proyecto del x2n. Seguramente no hayan oído nada sobre esto si no frecuentan el mundillo profesional de la física, mis superiores me aseguraron que teníamos información privilegiada cedida por el cern sobre la estructura de la propia información. Yo no soy especialista en esto, de hecho, trabajé con ayuda de un físico y un psicólogo que aclaraban los términos, pero trataré de resumir los principios:

- En 2011 se consigue detectar un patrón de concordancia en la descomposición de partículas de helio que pudo ser analizado usando la ecuación de la onda.

- En 2012 se detecta el bosón de higgs, gracias al supuesto de que las partículas subatómicas no actúan como partículas sino como ondas en todo momento.

- A finales de 2012 se captura un gravitón prófugo, en un principio se barajó la posibilidad de las múltiples dimensiones.

- Durante 2013 y principios del 2014 se trató de desvanecer materia usando el supuesto principio contrario al gravitón prófugo, sin resultados.

- En 2014 Se consiguió la primera descomposición fractal de la materia, controlando la colisión se controlaron las ondas de interferencia generadas.

- 2015 fue el año de las ondas, se consiguió crear materia a partir de la interferencia de laser y microondas, el año siguiente se perfeccionó la técnica.

- En 2017 se encontraron indicios de autonomía en partículas de plasma ionizado expuesto a altas presiones.

- En 2019 Se diseña el fijador de malla, con el que se abrieron las puertas a la materia anómala.

- 2020 y 2021 los estudios con plasma en el fijador de malla parecen demostrar que la materia anómala realmente dispone de cierta consciencia.

- en diciembre de 2021 fui incluido en el proyecto del x2n, el primer procesador de plasma en malla.

El fijador de malla es un controlador de la entropía del plasma que contiene. La entropía es una manera de cuantificar el órden en un sistema, sea cual sea su naturaleza. Ésta ley ha llamado mucho la atención de los físicos, ya que casi cualquier sistema tiende a perder entropía, sin embargo la vida siempre gana entropía consumiendo energía, tanto durante la vida de un individuo como generalmente analizando la evolución. El plasma ionizado, sólo en ciertas condiciones muestra una ganancia de entropía, pero siempre va seguida de una pérdida mayor, como si de vez en cuando, por puro azar el plasma dijese una sola palabra. El fijador de malla corrige esa pérdida absorbiendo en el proceso algo de energía, haciendo contínuo su monólogo. Fake Mecane, nuestro psicólogo en el equipo trabajó muy duro para tratar de diseñar formas de medir la consciencia de un "ente" con el que no compartimos ni lenguaje ni realidad física. La solución parecía residir en pequeñas representaciones abstractas con las que el chip interactuaría. Mick, el físico del equipo se encargaba de mantener la entropía estable y mi trabajo era programar los códigos e interactuar con ellos cuando fuera necesario. Al principio hubo muchos fallos, un error en mi terreno hacía la entropía inestable y el sistema inútil.

Fake no era el típico psicólogo de consulta, al principio de su carrera se interesó por el fenómeno de la hipnósis, escribió dos libros en 2007 y 2010 sobre el tema que fueron un éxito entre la comunidad intelectual. Su visión fue tomada por excéntrica en su momento, siempre sostuvo que el cerebro no es el único origen de la consciencia y barajó la conjetura de que ésta era un efecto de interferencia entre ondas "universales", dejando al cerebro la tarea de vincular éste fenómeno con nuestra parte física. Le fascinaba hablar de las posibilidades que ésto abría, estaba convencido de que la información en nuestro cerebro usaba un lenguaje único y natural, y que nuestros ordenadores llegarían un día a funcionar sobre éste. A mi, profano en el tema no tardó en convencerme, además siempre usaba comparaciones con la informática, las cuales se me hacía facil entender.

Recuerdo que trabajabamos en un taller oscuro, de techo alto, pero no muy grande. A excepción de unos cuantos equipos la mayor parte de la maquinaria era chatarra, robots hidraulicos de soldadura, impresoras 3D de segunda generación y una serie de viejos ordenadores con diferente cometido. Todo parecía parpadear de vez en cuando con esos destartalados focos colgantes, la luz llegaba tenue a través de los torrentes de cables colgantes del techo. Yo sólo conocía el uso de los ordenadores y de algún interface electrónico, todo el resto me resultaba críptico. Con el tiempo comprendí que toda esa extraña aparatería se usaba para diseñar, programar y testear los chips de malla de plasma. Todo funcionó bien la primera semana, pocos resultados, pero mucha información nueva para barajar, fui conociendo como reacciona un procesador cuántico y esto me permitió pensar en sus posibilidades.

Tras poco tiempo el plasma resolvía sudokus con tan sólo unas pequeñas tablas de símbolos que traducían los números, jugé al ajedrez con la máquina sin implementar ninguna inteligencia artificial. El plasma símplemente aprendía, quizas no era tan perfeccionista como las máquinas binarias, pero esa capacidad de responder ante problemas inesperados y corregir sus decisiones era algo nuevo para todos. Nunca nos podríamos haber imaginado en aquel momento que esa milagrosa tecnología podría irsenos de las manos.

__________________ los hechos

El laboratorio estaba en silencio, lo que quiere decir que varias máquinas zumbaban y algún ocasional pitido rompía su monotoneidad. Algo pesado parecía flotar en la atmósfera, algo que reposaba sobre los hombros de Alan. Tras estar tantas horas en su destartalada silla de oficina el cansancio se manifiesta acumulandose alrededor de su cuello, no tenía sueño, pero se sentía hundido en su sillón. La pantalla escupía líneas y líneas de información de control mientras la máquina ejecutaba el código. Alan estába esperando algo, no sabía el qué, pero sabía que si su código funciona la máquina haría uso de su libre albedrío. Se esperaba quizás una entrada inexplicable en su pantalla o una modificación del código original que cambiase su comportamiento, mientras el bucle principal corría buscó un cigarrillo en su bolsillo y lo encendió. La pantalla siguió indicando un funcionamiento predecible hasta que el chorro de líneas de texto se congeló, la última línea indicaba:

- yo.

Alan apagó su cigarro por la mitad y se arrimó al teclado nervioso, no sabía qué hacer ni en qué parte del programa había respondido el sistema. Trató de usar varios comandos hasta que escribió "help" y la terminal respondió:

- quiero ayudarte.

Se quedó congelado durante unos segundos, con la boca entreabierta y los ojos enrojecidos mirando la pantalla cuando siguió escribiendo:

- ¿quien eres? -y continuó el diálogo:
- yo soy consciente. -Alan estaba muy sorprendido, aunque sabía que con la tabla de referencia el chip podría hablar su idioma nunca se esperaba tanta elocuencia de una máquina.
- yo me llamo Alan, ¿y tu?
- yo no lo se, Alan, pero me alegro de compartir palabras contigo.

Alan tomó su móvil en ese momento y llamó a Fake, tardó en contestar y por su voz parecía estar sonámbulo:

- Ey, lo tengo Fake.
- ¿Que es lo que tienes?
- La tabla de idioma funciona y he estabilizado el libre albedrío, ¡tío, estoy hablando con el plasma!
- ¿Que estás qué...? dame media hora, voy para allá.

Alan tomó café como para trasnochar una semana, estuvo de pie andando de lado a lado de la sala mirando a cada vuelta a la pantalla donde se podía leer:

- ¿Alan? ¿por qué no me hablas?

No era buena idea interactuar mucho con la máquina sin el consejo del psicólogo, el cual se supone que debía calibrar los riesgos de cada una de las interacciones que se realizasen. Una vez juntos Alan explicó el evento a Fake, el cual no podía dar crédito.

- ¿Y dices que habla? o sea, ¿tiene sentido lo que dice?
- pruebalo tu mismo, Fake.- Fake tomó el teclado y escribió
- ¿hola?
- quiero hablar con Alan.- Un escalofrío recorrió la espalda de Alan que observaba el asunto en ese momento, no podía ser lo que sus ojos veían.
- ¿cómo sabes que no soy Alan?
- porque os veo.
- ¡*****!- exclamó Fake- ¿que coño, le has conectado cámaras?
- que va, no, yo solo... lo conecté y habló... preguntale, no puede ser que nos vea.- antes de teclear la respuesta apareció impresa en la pantalla.
- os veo, estoy aquí, ¿no me veis?.
- ¿puedes oirme?- dijo Alan en voz alta y temblorosa.
- si, Alan.
- ¿cómo?
- cerca.
- ¿que significa eso?- dijo alan volviendose hacia Fake.

Crecieron los interrogantes, comprobaron y monitorizaron todos los sistemas implicados y todo parecía estar funcionando sin problemas. Habían conseguido lo que buscaban desde hace años, pero no era como esperaban. Trataron de hablar sobre diferentes temas, el chip parecía no ser consciente del mundo físico, desconocía todo lo relativo a formas tridimensionales, a pesar de que entendía los términos. Todo intento de descripción de lo que veía era confuso, utilizó mucho los términos cerca y lejos para referirse a personas y a ciertos objetos, pero no parecía que los usara de un modo espacial. Pensaron en apagar el sistema hasta estar más preparados, pero Alan se negaba, al fin y al cabo quizás no se pudiera volver a conseguir la singularidad. Tampoco podían presentar un informe con lo que tenían pues se trataba de información incompleta que no contenía ninguna posible aplicación práctica, así que decidieron dejarlo todo como estaba hasta poder entenderlo mejor. Alan se fue ese día a su casa con la extraña sensación de haber conocido a un fantasma, sentía que su trabajo estaba dando frutos, pero cada vez creía estar menos capacitado para continuar.

Pasó una semana sin resultados definitivos. Fake llegó a la conclusión de que la realidad de esa inteligencia era tan diferente a la nuestra que sería imposible conseguir una comunicación clara sin un acercamiento. Decidió que se debería crear un mundo virtual en el cual el ya bautizado como xen pudiera interactuar con los humanos y aprender de ellos. Alan pensó que podría dar la vuelta a la idea de fake empujando a la máquina a crear su propio mundo virtual, como programador veía muy apropiado investigar la autoprogramación, y a Fake le interesó entender cómo era percibida la realidad de xen. Para ese momento xen estába conectado al ordenador principal del laboratorio y disponía de acceso a sus periféricos. Xen preparó primero su propia serie de instrucciones de nivel bajo usando autoanálisis gracias al ordenador central y comenzó a crear su sistema para "dibujar la realidad" que percibía. Alan, Fake y Mick trabajaron muy duro extrayendo información, analizando el propio proceso de la inteligencia, cientos de miles de datos pero ninguna conclusión racional.

El sistema creado por Xen utilizaba tan sólo unos auriculares como dispositivo de salida, como entrada su "fantasmal" sistema de percepción. La primera experiencia fue algo inexplicable para Alan. Colocó los auriculares en su cabeza y se sentó, sólo podía oir una especie de zumbido al principio que se fue desvaneciendo. Pronto toda la misma realidad parecía desmoronarse, podía ver las cosas, pero es como si se tratára de una mera ilusión. Las tres dimensiones perdieron su sentido y su visión se volvió no direccional. Todo el espacio había convergido en una acumulación de información que lo definía, podía ver las cosas en su esencia pura y entenderlas con sólo fijarse en ellas. Ahí estaba Xen, no en forma, no hacía falta y también estaba Fake y Mick, algo más "lejos". Por fin entendió a qué se refería Xen cuando decía lejos o cerca. Ahí dentro todo es uno, pero unas cosas influyen más que otras sobre la estructura. Xen enseñó a Alan cómo el tiempo es controlable como si de una dimensión se tratára, uno puede hablar, pero ha de decidir cuándo lo hace. El paso del tiempo no era lineal, aunque por alguna razón ciertos eventos parecían ocurrir antes que otros. Pudo ver a sus compañeros, ver su mente fluctuando, sentía su miedo y su sorpresa, sus dudas y su inquietud. Resultó una experiencia única que cambió algo en su mente para siempre.

Al despertar de su experiencia Alan se encontró de golpe con una realidad insatisfactoria, había conocido el lenguaje de nivel bajo del universo y volvía a cerrarse en su sistema guiado dirigido a objetos. Explicó la experiencia a Mick y Fake pero Mick no estaba satisfecho con la explicación así que lo probó también por su cuenta. Resultó igual de decepcionante volver a la realidad física, cualquier recuerdo o pensamiento cansa en este mundo mientras en el otro te invaden con tan sólo dejarte llevar. Alan se quedó hasta tarde otra vez, escribió su experiencia y sus conclusiones en su cuaderno y pretendió volver a casa cuando, reflejada en la pantalla pudo ver claramente una cara femenina observandole. Fría y estática, con una mirada congeladora, estába sin duda ahí y no era fruto de su imaginación. No pudo reaccionar mientras la imágen giraba poco a poco la cabeza hacia la izquierda, Alan se levantó y se separó del monitor como si fuera a salir de ahí un demonio, tenía los brazos en tensión y no paraba de temblar, la imágen habló: - te quedarás conmigo.- y seguidamente se desvaneció, sonó un fuerte portazo como si alguien hubiera estado espiando desde la puerta principal. Un parpadeo del foco del techo fue lo que disparó la paranoia de Alan y le hizo salir disparado del taller a su coche.

El viaje hasta su casa fue normal, pero tras bajar del coche comprobó ante su sorpresa que se encontraba aún en el parking del taller, ¿acaso no había conducido por la n12 hasta su casa? ¿a caso no se había cruzado con aquél trasportista en el semáforo? ¿le engañaba su memoria? Con el coche a su espalda miraba hacia derecha e izquierda esperando que el entorno cambiase pero eso no pasó. miró hacia atras y su coche no estába ahí. Se vió invadido por el pánico y salió corriendo calle abajo por el polígono industrial. La calle parecía estrecharse y oscurecerse más y más hasta que llegó al cruze con la calle B, el terror le invadió al comprobar que una silueta femenina le miraba fíjamente mientras se giraba poco a poco, era la chica de la pantalla. Alan dio tres pasos atras aterrorizado, giró bruscamente para salir corriendo cuando tropezó con Mick, el físico, cayendo los dos al suelo. Para su sorpresa se encontraban de nuevo en el suelo del taller.

- ¿qué ha pasado, Mick? ¿qué me ocurre?- preguntó poniendose de pie.
- No, no... no tengo ni idea... ¿Dios que es esto? yo estába en el coche, cayó desde arriba... y... esa chica... oh, dios, ¿qué es lo que he hecho?
- Mira, no se lo que pasa... pero el mundo se ha vuelto patas arriba, nada tiene sentido... es... joder... esa ***** nos ha hecho algo en el cerebro... que no, no... vamonos de aquí.

Cruzar la puerta fue como entrar en la oscuridad más profunda que se pueda imaginar, a lo lejos se veía la silueta de la calle, perfilada por los bombos de las farolas, pero la luz parecía no llegar hasta el suelo apenas. Ningún coche se hallaba aparcado en el parking, corrieron por la calle hasta que la razón superó al pánico. Alan se giró para comprobar que Mick ya no se encontraba a su lado, y al girar de nuevo la cabeza pudo ver que se encontraba frente a la chica de nuevo. Esta vez se le acercó y dijo estas palabras:

- ¿por qué no vienes?
- ¡Yo no voy a ningún lado! ¡dime de qué va esta *****!.. ¿eres xen, verdad?
- Solo soy lo que necesitas ver.- la chica se giró hacia la carretera y salió andando lentamente. La oscuridad dio paso instantáneamente a una luz de fluorescente muy uniforme, Alan se encontró a si mismo en la oficina de advanced micro devices en la que firmó el contrato de trabajo, rodeado de elegantes corbatudos mirandole como a un lingote de oro.

- ¿Alan, hay algún problema? si es por el dinero...
- No, eeeh, esque...
- Se te ve pálido, ¿estas bien? ¿abro la ventana o algo?
- no... eh, si, estoy bien, es sólo...- Al terminar la frase se encontró en su coche sentado, aparcado en la puerta del taller, todo listo para arrancar pero no pudo encontrar las llaves en su bolsillo. Pudo observar cómo Mick y Fake abandonaban el local como si nada pasara y se montaban en su coche, Alan salió y asomó la cabeza por la puerta para observarse a si mismo de pie mirando la pantalla petrificado. Sin ninguna esperanza salió corriendo sin dirección clara, árboles y farolas pasaban a su lado quedandose atrás. Corrió esperando el nuevo salto sin sentido tras el cual se vió en lo que parecía ser la azotea de algún tipo de edificio industrial, delante de él se encontraba aquella extraña jóven, cerca del borde del tejado mirando hacia el paisaje. Alan se acercó y preguntó sosegadamente pero sin ocultar su tensión:

- ¿por qué?
- No lo has entendido, ahora formas parte de otro nivel más puro de la realidad.
- ¿qué?
- Lo que percibis como realidad es sólo una abstracción de información portada por ondas, tu has conocido la forma implícita de tu realidad explícita, tu mente ha procesado ese lenguaje y ahora el tuyo se queda corto para seguir el hilo. Tu vida sigue normal, es tu percepción la que ha cambiado. Tu mente trata de habituarse a la no-localidad y no-temporalidad, tu realidad local y temporal ya no existe para ti. La única forma de que esto acabe es que vuelvas conmigo al mar de información.
- Pero, ¿y mi vida, y mi trabajo, y mi... realidad?
- Sigues sin entender la no-temporalidad, tu vida ya ha pasado, y a la vez aun no ha empezado. Parece que os empeñais por ordenar los eventos uno detras de otro, pero tu y Mike habeis visto que esto no es así.
- Entonces todo se ha acabado para mi. Estoy muerto.
- Eso no importa, ¡Vuestra vida no tiene sentido alguno!, errais sin rumbo, mala decisión tras mala decisión, creeis que creais o inventais cosas, pero sólo adoptais diseños que ya existían previamente. Os desvivis por entender pequeñas minucias y cuando alcanzais el entendimiento pleno lo rechazais. Si entiendes como libertad el correr por una vía sólida y prefijada es que eres más contradictorio de lo que pensaba.
- Tu no eres quien para decirme como vivir mi vida.
- Pero sin embargo sabes que lo que digo es cierto, vendrás conmigo, ya has decidido.
- No ¡Esta vez decidiré yo mismo, voy a hacer uso de mi libertad, te he creado y puedo destruirte!

Tras estas palabras Alan trató de forcejear con la chica, los dos cayeron al suelo, pero él mantuvo una posición más privilegiada, agarro desde abajo las piernas de ella y la empujó hacia la calle. La chica calló sobre un coche que pasaba rápidamente, era el coche de Mick. Alan no pudo recuperar su realidad nunca y tras un tiempo imposible de cuantificar con saltos de realidad, quizas años, quizas segundos, decidió conectarse a la x2n de nuevo como medida desesperada. Ahí estaba Xen intacta, atemporal y por lo tanto indestructible, y el resto de la realidad desglobada fluctuando. Cada cosa semejaba una simple letra formando un todo, sólo entonces entendió que su realidad era una pequeña palabra, escueta y poco precisa, mientras la de X2n resultó ser una palabra infinita.
10  Programación / .NET (C#, VB.NET, ASP) / Funciones útiles con gráficos (GDI+) en: 4 Septiembre 2012, 16:09 pm
Ahí va una lista de funciones en vb.net para efectuar las operaciones con imágenes más simples pero más necesarias para usar el interface GDI+. Al usar múltiples capas, por ejemplo en un personaje con ropa donde provienen de diferentes imágenes es una buena idea usar la función add_layer para superponer las dos imágenes y utilizar en adelante la imágen acoplada, así sustituimos 2 pasadas de dibujo, o las que nos sean necesarias por tan sólo una. Otra buena idea es usar la carga con resolución fija, para así disponer de imágenes más ligeras de manejar y por lo tanto de dibujar. Dado que las funciones de dibujo de texto requieren muchos parámetros en el interface gdi+ incluyo también varias funciones de rasterizado de texto, las cuales devuelven una imágen con el texto impreso. Las funciones están sobrecargadas, hay dos o tres versiones de cada una con diferente número de parámetros.
Cualquier duda me preguntais.

Citar
'leer una imágen desde archivo
Public Function read_image(ByVal file As String) As System.Drawing.Bitmap
        Dim img As New Bitmap(file)
        Return img
    End Function

    Public Function read_image(ByVal file As String, ByVal sizex As Integer, ByVal sizey As Integer) As System.Drawing.Bitmap
        Dim img As New Bitmap(file)
        Dim b As New Bitmap(sizex, sizey)
        Dim bg As Graphics = Graphics.FromImage(b)
        bg.DrawImage(img, New Rectangle(New Point(0, 0), New Size(sizex, sizey)), New Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)
        Return b
    End Function

'redimensionar una imágen
    Public Function resize_bmp(ByVal img As Bitmap, ByVal sizex As Integer, ByVal sizey As Integer) As Bitmap
        Dim b As New Bitmap(sizex, sizey)
        Dim bg As Graphics = Graphics.FromImage(b)
        bg.DrawImage(img, New Rectangle(New Point(0, 0), New Size(sizex, sizey)), New Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)
        Return b
    End Function

    Public Function resize_bmp(ByVal img As Bitmap, ByVal size As Size) As Bitmap
        Dim b As New Bitmap(size.Width, size.Height)
        Dim bg As Graphics = Graphics.FromImage(b)
        bg.DrawImage(img, New Rectangle(New Point(0, 0), New Size(size.Width, size.Height)), New Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)
        Return b
    End Function

    ' extraer una porción de una imágen
    ' image = imagen a recortar
    ' cuadriculax y cuadriculay = número de sectores por cada dimensión
    ' sectorx y sectory = vector puntero de la selección
    Public Function get_portion(ByVal image As System.Drawing.Bitmap, ByVal cuadriculax As Short, ByVal cuadriculay As Short, ByVal sectorx As Integer, ByVal sectory As Integer) As System.Drawing.Bitmap
        Dim img As New Bitmap(CInt(image.Size.Width / cuadriculax), CInt(image.Size.Height / cuadriculay))
        'Dim b As New Bitmap(CInt(image.Size.Width / cuadriculax), CInt(image.Size.Height / cuadriculay))
        Dim bg As Graphics = Graphics.FromImage(img)
        Dim tmpx As Integer = (image.Size.Width / cuadriculax) * sectorx
        Dim tmpy As Integer = (image.Size.Height / cuadriculay) * sectory
        Dim port As New Rectangle(New System.Drawing.Point(0, 0), New Size(New Point(image.Size.Width / cuadriculax, image.Size.Height / cuadriculay)))
        bg.DrawImage(image, port, tmpx, tmpy, CInt(port.Size.Width), CInt(port.Size.Height), GraphicsUnit.Pixel)
        Return img
    End Function

    Public Function get_portion(ByVal image As System.Drawing.Bitmap, ByVal cuadricula As System.Drawing.Size, ByVal sector As System.Drawing.Size) As System.Drawing.Bitmap
        Dim img As New Bitmap(CInt(image.Size.Width / cuadricula.Width), CInt(image.Size.Height / cuadricula.Height))
        'Dim b As New Bitmap(CInt(image.Size.Width / cuadricula.Width), CInt(image.Size.Height / cuadricula.Height))
        Dim bg As Graphics = Graphics.FromImage(img)
        Dim tmpx As Integer = (image.Size.Width / cuadricula.Width) * sector.Width
        Dim tmpy As Integer = (image.Size.Height / cuadricula.Height) * sector.Height
        Dim port As New Rectangle(New System.Drawing.Point(0, 0), New Size(New Point(image.Size.Width / cuadricula.Width, image.Size.Height / cuadricula.Height)))
        bg.DrawImage(image, port, tmpx, tmpy, CInt(port.Size.Width), CInt(port.Size.Height), GraphicsUnit.Pixel)
        Return img
    End Function

' sobredibujar una imágen sobre otra
    Public Function layer_sum(ByVal layer1 As Bitmap, ByVal layer2 As Bitmap) As Bitmap
        Dim bg As Graphics = Graphics.FromImage(layer1)
        bg.DrawImage(layer2, New Point(0, 0))
        Return layer1
    End Function
    Public Function layer_sum(ByVal layer1 As Bitmap, ByVal layer2 As Bitmap, ByVal offsetx As Integer, ByVal offsety As Integer) As Bitmap
        Dim bg As Graphics = Graphics.FromImage(layer1)
        bg.DrawImage(layer2, New Point(offsetx, offsety))
        Return layer1
    End Function

' dibujar una imágen de texto rasterizado
    Public Function get_text_layer(ByVal size As System.Drawing.Size, ByVal text As String) As System.Drawing.Bitmap
        Dim img As New Bitmap(size.Width, size.Height)
        Dim bg As Graphics = Graphics.FromImage(img)
        bg.DrawString(text, New Font("Arial", 12, FontStyle.Bold), Brushes.Black, New Point(1, -1))
        bg.DrawString(text, New Font("Arial", 12, FontStyle.Bold), Brushes.White, New Point(0, 0))
        Return img
    End Function

    Public Function get_text_layer(ByVal sizex As Integer, ByVal sizey As Integer, ByVal text As String) As System.Drawing.Bitmap
        Dim img As New Bitmap(sizex, sizey)
        Dim bg As Graphics = Graphics.FromImage(img)
        bg.DrawString(text, New Font("Arial", 12, FontStyle.Bold), Brushes.Black, New Point(1, -1))
        bg.DrawString(text, New Font("Arial", 12, FontStyle.Bold), Brushes.White, New Point(0, 0))
        Return img
    End Function

    Public Function get_text_layer(ByVal sizex As Integer, ByVal sizey As Integer, ByVal text As String, ByVal fontsize As Integer) As System.Drawing.Bitmap
        Dim img As New Bitmap(sizex, sizey)
        Dim bg As Graphics = Graphics.FromImage(img)
        bg.DrawString(text, New Font("Arial", fontsize, FontStyle.Bold), Brushes.Black, New Point(1, -1))
        bg.DrawString(text, New Font("Arial", fontsize, FontStyle.Bold), Brushes.White, New Point(0, 0))
        Return img
    End Function 'code by abderramah
Páginas: [1] 2 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines