none
Centrar imagen en picturebox RRS feed

  • Pregunta

  • Hola foro.

    Utilizo c# y he estado intentando centrar una imagen de un picturebox.

    lo anterior debdido a que cargo imagenes de forma dinamica y tienen diferentes longitudes.

    Alguien sabe como podria hacerlo?

    gracias

    miércoles, 10 de agosto de 2011 20:13

Respuestas

  • Hola,

    Lo que comenta Leandro si la imagen es mayor que el picturebox al utilizar CenterImage, pierdes la parte que no entra el el Bounds del PictureBox.

     

    Lo puedes hacer haciendo lo siguiente SizeMode a StretchImage y en Padding poner por ejemplo en All 10.

     

    Saludos,


    phurtado
    miércoles, 10 de agosto de 2011 20:34
    Moderador
  • hola

    no has probado definiedno la propiedad

    PictureBox.SizeMode Property

    con el valor CenterImage

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de agosto de 2011 20:24
  • si el tema con el stretch es que deforma la imagen si es que esta no tiene dimensiones similares, intentara llevar cada dimension a la del picturebox, quzias aplanandola o estirandola segun sea el caso, ojo puede ser igual lo que busca no lo descarto serea cuestion de que sea analizado

    recomendacion la propiedad es SizeMode, eso esta claro, despues juega hasta que consigas el resultado esperado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de agosto de 2011 20:41
  • Hola:

     

    Yo creo que puestos, lo mejor sería dibujar en vez de un picturebox un control del tipo "System.Windows.Forms.Integration.ElementHost" y que @jb tsu cree un xaml que hay le van a quedar las imagenes perfectas.

     

    Saludos,


    phurtado
    miércoles, 10 de agosto de 2011 20:58
    Moderador
  • Hola @Walter:

     

    DrawImage() desde el Paint()

     

    Con esa solución va a tener los mimos problemas que con 

     

    SizeMode = CenterImage

    SizeMode= StrechImage.

     

    y se va a complicar, por el tipo de gráfico que es capaz de renderizar gdi+.

     

    Saludos,


    phurtado
    miércoles, 10 de agosto de 2011 21:16
    Moderador

Todas las respuestas

  • hola

    no has probado definiedno la propiedad

    PictureBox.SizeMode Property

    con el valor CenterImage

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de agosto de 2011 20:24
  • Hola,

    Lo que comenta Leandro si la imagen es mayor que el picturebox al utilizar CenterImage, pierdes la parte que no entra el el Bounds del PictureBox.

     

    Lo puedes hacer haciendo lo siguiente SizeMode a StretchImage y en Padding poner por ejemplo en All 10.

     

    Saludos,


    phurtado
    miércoles, 10 de agosto de 2011 20:34
    Moderador
  • si el tema con el stretch es que deforma la imagen si es que esta no tiene dimensiones similares, intentara llevar cada dimension a la del picturebox, quzias aplanandola o estirandola segun sea el caso, ojo puede ser igual lo que busca no lo descarto serea cuestion de que sea analizado

    recomendacion la propiedad es SizeMode, eso esta claro, despues juega hasta que consigas el resultado esperado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de agosto de 2011 20:41
  • Hola:

     

    Yo creo que puestos, lo mejor sería dibujar en vez de un picturebox un control del tipo "System.Windows.Forms.Integration.ElementHost" y que @jb tsu cree un xaml que hay le van a quedar las imagenes perfectas.

     

    Saludos,


    phurtado
    miércoles, 10 de agosto de 2011 20:58
    Moderador
  • Hola @Walter:

     

    DrawImage() desde el Paint()

     

    Con esa solución va a tener los mimos problemas que con 

     

    SizeMode = CenterImage

    SizeMode= StrechImage.

     

    y se va a complicar, por el tipo de gráfico que es capaz de renderizar gdi+.

     

    Saludos,


    phurtado
    miércoles, 10 de agosto de 2011 21:16
    Moderador
  • GRacias me ha servido de mucho
    miércoles, 10 de agosto de 2011 21:17