• Domingo 22 de Diciembre de 2024, 09:47

Autor Tema:  Insertar imagen en C# con listas  (Leído 12451 veces)

PEPPERLAND

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Insertar imagen en C# con listas
« en: Martes 3 de Mayo de 2011, 01:55 »
0
hola a todos!!
tengo un proyecto de la universidad y no se como insertar una imagen en c#
estamos armando un pequeño buscador de libros, tengo la clase CLibro donde uno de sus atributos es la portada del libro... CLibro sera una lista.
ahora las imagenes se importan desde una carpeta externa pero no se como hcerlo y de forma automatica porque son x libros.
tengo una idea banal, algo de colocar la ruta de la imagen en el codigo y he escuchado de bitmap pero no la tengo clara... iluminenme por favor!!!

alexg88

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #1 en: Martes 3 de Mayo de 2011, 19:55 »
0
Puedes utilizar la clase PictureBox en el que tienes que asignarle a su propiedad Image la ruta de la imagen.
Luego el pictureBox lo incluyes en el formulario y ya está.

newmix

  • Nuevo Miembro
  • *
  • Mensajes: 2
  • Nacionalidad: mx
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #2 en: Martes 10 de Mayo de 2011, 00:13 »
0
si asi como en el comentario anterior se hace, utilizas un pictuirebox para cargar la imagen cada vez que se navega por la BD para buscar libros. ejemplo:

public static string rutaImagen = Image.FromFile("Documents....imagen");

public void BtnSiguiente_Click(bla,bla,bla)
{
  //mostrar la imagen en el picturebox cada que se hace clic en algun boton "siguiente"
  this.pictureBox1.Image = rutaImagen;
  i++; //para el contador de imagenes
}

alexg88

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #3 en: Martes 10 de Mayo de 2011, 00:29 »
0
Tienes un pequeño error en lo que has puesto. El método FromImage devuelve un objeto de tipo Image, no un String.

Sería así:

 
Código: C#
  1. public void BtnSiguiente_Click(bla,bla,bla)
  2. {
  3. String ruta = "Documents....imagen";
  4. Image imagen = Image.FromFile(ruta);
  5.  
  6. //mostrar la imagen en el picturebox cada que se hace clic en algun boton "siguiente"
  7. this.pictureBox1.Image = imagen;
  8. }
  9.  

newmix

  • Nuevo Miembro
  • *
  • Mensajes: 2
  • Nacionalidad: mx
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #4 en: Martes 10 de Mayo de 2011, 00:48 »
0
a caray es cierto, perdon tienes razon, es que estoy con el rollo este de hacer un videojuego de damas españolas, a ver que alma caritativa podra ayudarme. saludos.

PEPPERLAND

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #5 en: Martes 17 de Mayo de 2011, 22:40 »
0
gracias por sus aportes me quedo claro...

camaleon2011

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #6 en: Jueves 9 de Junio de 2011, 19:49 »
0
PEPPERLAND, recapitulando un poco los que quieres hacer en que automáticamente tu programa descargue todas las imágenes contenidas en una carpeta y las muestre dentro del formulario, si esto es correcto te proporciono un método, que estará basado en el uso de un datagridview para mostrar las imágenes y el código necesario para que lo adaptes a tus necesidades.

1) agrega un control DataGridView desde el cuadro de Herramientas
2) Cambia la propiedad (Name) a tablaImagenes, esto es para que el código que te porporciono coincida y no tengas que cambiarlo
3) Cambia la propiedad Dock a Fill, sólo es para que se adapte al formulario, aunque no necesario.

El siguiente código esta comentado si deseas pegarlo directamente o bien la solamente usar la función "Imagenes", suerte y espero te ayude.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;


namespace FOTOS
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.Imagenes();//Ejecuta funcion para buscar y mostrar imagenes
        }

        private void Imagenes()
        {
            tablaImagenes.Columns.Add("dir", "Direccion");//Agrega Columna a control datagridview
            DataGridViewImageColumn Img = new DataGridViewImageColumn();//Agrega una columna de imagenes
            Img.Name = "Fotos";//Da nombre a la columna de imagenes
            Img.Width = 160;//Modifica el tamano columna de imagenes
            Img.ImageLayout = DataGridViewImageCellLayout.Stretch;//Imgresa propiedad strech**las fotos se adaptan al contorno de celda
            tablaImagenes.Columns.Add(Img);//inserta columna de imagenes junto con sus propiedades en el datagrid
            DataGridViewRow ren = tablaImagenes.RowTemplate;//Cambia propiedad height en renglones
            ren.Height = 120;//tamaño de renglones
            this.Controls.Add(tablaImagenes);//agrega todos los controles anteriores al datagrid


            FolderBrowserDialog d = new FolderBrowserDialog();//Busca en carpeta el nombre de archivos
            d.SelectedPath = @"C:UserscamaleonDesktopfotos prueba";//Direccion de Carpeta
            string[] files = Directory.GetFiles(d.SelectedPath);//Guarda en un arreglo de cadenas el nombre de archivos
            for (int i = 0; i < files.Length; i++)//Bucle para obtener cada lista contenida en el arreglo
            {
                string[] cadenadireccion = { files };//Cadena que contiene el nombre de cada archivo
                tablaImagenes.Rows.Add(cadenadireccion);//Adiciona el renglon con la cadena de direccion
                tablaImagenes.Rows.Cells["Fotos"].Value = Image.FromFile(files);//agrega fotografia obteniendo direccion del arreglo de cadenas
            }

        }
    }
}

PEPPERLAND

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Insertar imagen en C# con listas
« Respuesta #7 en: Viernes 10 de Junio de 2011, 02:26 »
0
gracias..buenazo el código...probando