2011-02-01 20 views
6

Tengo una aplicación Winforms existente que tiene varios formularios con las mismas imágenes de botón en los dos botones principales para cada formulario (Aceptar y Cancelar). Las imágenes se configuran en VS Designer configurando la propiedad Imagen del Botón en "Recursos locales" e importando la imagen deseada.Extracción de la imagen del recurso local de Winforms Propiedad del formulario/botón/imagen

No tengo acceso a los archivos de imagen originales. ¿Cómo extraigo una imagen de la propiedad Imagen de un control de Botón cuya propiedad de Imagen se ha configurado de esta manera?

Screenshot

Respuesta

1

En realidad las imágenes no se almacenan en el sistema de archivos, sino que añade a la resx de su formulario (por ejemplo MainForm.resx) como una representación serializada codificado en base 64. Si sabe cómo hacerlo, puede basar64 la decodificación de esa cadena, guardar el resultado en un archivo plano y nombrarlo correctamente (debe conocer el tipo de imagen para eso).

+0

Puede decodificar cadenas Base64 a un archivo binario aquí: http://www.freeformatter.com/base64-encoder.html – Dan

6

Encontré un método mucho más fácil que la decodificación manual de Base64.

asumiendo que su forma se denomina Form1:

  1. Expand Form1.cs en el Explorador de soluciones.
  2. Haga doble clic en Form1.resx para abrir el Diseñador de recursos.
  3. Haga clic derecho en la imagen que desea extraer.
  4. Elija "Exportar a archivo ...".

Esto se aplica a los recursos con la persistencia establecida en "incrustado en .resx". Si Persistence está "Vinculado en tiempo de compilación", la imagen ya existe como un archivo en el directorio de recursos de su proyecto.

Screenshot

+0

@KyleMit Gracias por la pantalla! – Dan

+1

Aún más fácil. selecciónelos desde esa ventana y ctrl + c, y péguelos en su escritorio o carpeta – Franck

Cuestiones relacionadas