Agregué la imagen como archivo y establecí el tipo como recurso (vea la captura de pantalla) ¿Cómo lo saco como una matriz de bytes sin usar archivos de resx, etc.?cargar el recurso como conjunto de bytes programáticamente
Respuesta
El proceso se describe en How to embed and access resources by using Visual C#.
Esencialmente requiere el uso de la reflexión, utilizando la clase Assembly
.
Stream imageStream =
currentAssembly.GetManifestResourceStream("Resources.logo_foot.png");
Ver How to convert an Stream into a byte[] in C#? para más detalles de cómo conseguir un byte[]
de un Stream
.
Tuve que escribir todo el espacio de nombres para que funcione. Si tiene dudas sobre los recursos que tiene, llame a currentAssembly.GetManifestResourceNames() –
Si se trata de una página web que podría base64
codificar la imagen y añadirlo como el src
de un elemento image
o en una definición de background-image
en el CSS
:
http://www.motobit.com/util/base64-decoder-encoder.asp
Nota Esto eliminará la dependencia de tener el archivo almacenado en el servidor, que puede se bueno o malo
¡Las cosas son incluso más simples que los artículos marke como respuesta!
Si hace clic en el archivo de recursos y ve la ventana de propiedades, puede establecer el Tipo de archivo como binario. A continuación, puede acceder a la bytearray en código con un simple
var byteArray = Properties.Resources.FileName;
donde filename es el nombre de su recurso.
Utilizando Visual Studio Express 2010 no pude cambiar el tipo de recurso PNG, pero cambié el nombre del archivo a .bin antes de agregarlo como recurso y eso funcionó maravillosamente! – lapo
No veo ninguna opción para cambiar el tipo de archivo en Visual Studio 2017 –
¿Estás seguro de que estás buscando en la ventana Propiedades? Acabo de verificar mi instalación de VS2017 y definitivamente está allí. –
Si usted no utiliza la imagen directamente (es decir: de un control si su proyecto es una aplicación de Windows), entonces usted podría:
1- cambiar la extensión del archivo (es decir: * .jpg.data)
2- añadir la "imagen" a un archivo de recursos RESX
3- acceso a la matriz de bytes usando: Resources.PathToImages.ResxFileName.ImageName
Nota: si se agrega la imagen con la extensión sin cambios la RESX el compilador crea una propiedad Bitmap en lugar de un byte [] p Roperty.
- 1. Cargar un ensamblado desde un recurso incrustado
- 2. Android: cambie el recurso de cadenas programáticamente
- 3. Acceso a un nombre de recurso programáticamente
- 4. Ejecutar programa desde el conjunto de bytes
- 5. Cargar plantilla del recurso incrustado
- 6. Cargar imagen del recurso incrustado
- 7. Imagen para el conjunto de bytes desde una URL
- 8. Aplicación de recurso de estilo programáticamente
- 9. Cómo leer un recurso incrustado como una matriz de bytes sin escribirlo en el disco?
- 10. Recurso de Java como archivo
- 11. Conjunto de bytes en Object-C
- 12. Reproducir recurso de video incrustado como secuencia
- 13. tamaño del conjunto de estructuras en bytes
- 14. ¿Puedo obtener el recurso de Javascript para cargar otro?
- 15. Error al cargar el recurso: Carga de cuadro interrumpida: Agian
- 16. Obtiene el conjunto de bytes de una ByteBuffer en Java
- 17. ¿Cómo puedo cargar un conjunto Hibernate-mapped como un conjunto no modificable?
- 18. ¿Cómo cargar el icono del recurso en Java?
- 19. Android: ¿cómo convertir el conjunto de bytes a Bitmap?
- 20. Ejecutar un script SQL almacenado como recurso
- 21. cargar un recurso contenida en un frasco
- 22. Cargar el control de usuario programáticamente usando LoadControl (Type, Object())
- 23. Cargar un recurso png en un CBitMap
- 24. Configurando Symfony 2 - No se puede cargar el recurso app.php
- 25. android No se permite cargar el recurso local: file: /// android_asset
- 26. Java web start - No se puede cargar el recurso
- 27. Java: quitar segmento Continious de ceros del conjunto de bytes
- 28. ¿Cómo mostrar los valores hexadecimales del conjunto de bytes?
- 29. Archivo de configuración como recurso incrustado
- 30. No se puede cargar un recurso de manifiesto con GetManifestResourceStream()
No creo que haya buscado en la web antes de preguntar. http://support.microsoft.com/kb/319292 – Oded
Sí, pero no muestra cómo obtener 'byte []' – katit