Título: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: juanedwin en 18 Enero 2022, 22:03 pm saludos, tengo un archivo de imagen lo cargo en un picturebox o un control image y tengo unos datos en un textox (cadena de texto), quisiera poder de alguna manera exportarlo esos 2 componentes imagen y texto en un archivo, y de igual manera hacerlo a la inversa coger ese archivo exportado y volver a su posicion inicial es decir cargar la imagen en el picturebox y el texto al textbox. saludos
Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: Serapis en 19 Enero 2022, 15:34 pm Crea una simple estructura con estos campos:
SizeImagen entero32 SizeTexto entero32 Opcionalmente sus nombres, si hubieran de ser de interés para lo que se haga. Ahora creas un fichero nuevo con una extensión de tu interés, preferiblemente que no recoja ninguna aplicación para no inducir a errores. El fichero destino tendrá, en este orden: 1 - La imagen 2 - El texto 3 - La estructura Es decir, llenas la estructura con el tamaño de la imagen y la del texto. Luego lees la imagen en un array y lo vuelcas al fichero destino, luego lees el texto, y lo escribes detrás, finalmente escribes la estructura. A la hora de leerlo, se hace la operación inversa (se leen en orden inverso), basta posicionar punteros de lectura y crear el array del tamaño correcto, son simples matemáticas de suma y resta. NET dispone de varios objetos para leer sin necesidad de tener que guardarlo de nuevo a otro fichero... Pero si tus conocimientos son limitados, al menos debeieras ser capaz de llegar a eso. Hay una ventaja... la imagen al ir al comienzo de dicho fichero, puede ser leído (es lo normal), sin importar lo que haya detrás el decodificador de la imagen sabrá hasta donde leer y donde parar. Luego para cargar la imagen basta con pasar la ruta de dicho fichero. Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: juanedwin en 21 Enero 2022, 20:55 pm Gracias, por tu respuesta, me diste una idea, aunque no pude realizar tu propuesta, es que tengo conocimiento muy basico, asi que busque y resolvi con el siguiente codigo, quisiera ver si esta bien codificado, no se eso de las buenas formas de programar, resolvi con este codigo :
Código
Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: Serapis en 22 Enero 2022, 14:39 pm Te vale...
Yo hubiera operado exclusivamente con bytes y sin necesidad de la codificación a y desde Base64. Pero tratándose de contenido de pequeño tamaño (una imagen comprimida y el texto de un textbox), no pecará demasiado de lentitud. Nota que la conversión a Base64 permite el 'splitado' posterior correctamente con un 'separador' que no forma parte de la codificación de Base64 (retorno de carro y avance de línea en el ejemplo). Es adecuado sin embargo que conozcas que un split, exige buscar (byte a byte prácticamente) la secuencia a lo largo de todo el contenido (imagina si ocupara cientos de Mb.), en tanto que si se guarda un valor con el tamaño de uno u ambos contenidos, el punto de unión entre ambos contenidos se conoce de forma absoluta, sin necesidad de búsqueda, de ahí que sea más eficiente la forma que te señalé. Cuando pongas código, al poner código y usar las etiquetas 'code' puedes elegir desde la ventana de edición del mensaje, en el combobox 'código GeSHi', el lenguaje usado así se colorea la sintaxis y lo hace más legible. Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: juanedwin en 25 Enero 2022, 16:02 pm tienes razon, sin embargo no he podido realizar o encontrar como realizar eso(tu primer comentario), asi que hice con otro metodo que creo es mas eficiente que mi propuesta inicial, no se si estara bien pero aqui va.
Código
Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: Elektro Enjuto en 21 Octubre 2022, 08:23 am Se que ha pasado mucho tiempo desde la última respuesta a este tema, pero me aburro sin nuevos temas de .NET en los que poder ayudar, y ya que he visto que recientemente publicaste un nuevo tema y yo en este tema en concreto te puedo aclarar un par de cosas... pues allá que voy:
1. Lo que pretendes hacer se denomina serialización: https://learn.microsoft.com/en-us/dotnet/standard/serialization/ Cita de: https://learn.microsoft.com/es-es/dotnet/csharp/programming-guide/concepts/serialization/ La serialización es el proceso de convertir un objeto en una secuencia de bytes para almacenarlo o transmitirlo a la memoria, a una base de datos o a un archivo. Su propósito principal es guardar el estado de un objeto para poder volver a crearlo cuando sea necesario. El proceso inverso se denomina deserialización. La serialización permite al desarrollador guardar el estado de un objeto y volver a crearlo según sea necesario, ya que proporciona almacenamiento de los objetos e intercambio de datos. A través de la serialización, un desarrollador puede realizar acciones como las siguientes: Enviar el objeto a una aplicación remota mediante un servicio web Pasar un objeto de un dominio a otro Pasar un objeto a través de un firewall como una cadena JSON o XML Mantener la seguridad o información específica del usuario entre aplicaciones 2. Para serializar en formato binario/raw puedes utilizar la clase "System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" He escrito estas dos funciones genéricas para que puedas serializar/deserializar en formato binario de forma muy sencilla: Código
Código
Ejemplo de utilización: Código
Para serializar: Código
Para deserializar: Código
Por último, una pequeña advertencia: ten presente que no todos los tipos son serializables por defecto. Dependiendo de tu propósito y las circunstancias puedes llegar a necesitar implementar la interfaz ISerializable y/o IXmlSerializable en la clase cuyos miembros desees serializar, con el fin de diseñar la lógica de serialización de todos o un miembro en particular. -Enjuto Mojamuto "rey de los frikis" a su disposición para futuras dudas. Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: juanedwin en 22 Octubre 2022, 02:44 am claro gracias por tu aporte, es bueno aprender un poco mas, eso de serializacion no sabia nada que asi se llamaba, la cuestion era juntar (exportar) en un archivo una imagen y un texto, y claro oculto para que nadie lo pudiera ver ni leer, asi que viene bien la aclaracion, probare los ejemplos, gracias saludos.
Título: Re: Como fusionar una archivo de imagen y de texto en uno con vb.net framework3.5 Publicado por: richardu1980 en 23 Noviembre 2022, 19:32 pm Es posible extraer una porcion de una imagen de un video(*.mp4) en un PictureBox como si le tomasemos una foto pero capturando un area especifica del video con el Picturebox, asi tendriamos los valores de top y left y el tamaño basado en width y heigth.
GRACIAS!!! |