Autor Tema: Redimencionar imagen de Picture al estilo wordpress plugin  (Leído 4063 veces)

0 Usuarios y 1 Visitante están viendo este tema.

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Redimencionar imagen de Picture al estilo wordpress plugin
« en: Noviembre 23, 2011, 09:46:46 pm »
Me gustaria poder redimencionar imagenes en un picture como lo hace el plugin WP e-Commerce de wordpress pero no encuentro nada parecido alguien me tira un link, revisen la forma en que hace la redimension aqui. http://bunker.host22.com/?page_id=4

Creo que lo que hace es reducir la imagen hasta cierto punto osea no la redimenciona exactamente hasta el tamaño del picture y luego coloca la parte central de la imagen por eso en algunos casos solo se ve parte de las imagenes nose si se entiende.



« última modificación: Noviembre 23, 2011, 09:54:44 pm por lucius »

79137913

  • Megabyte
  • ***
  • Mensajes: 185
  • Reputación: +21/-4
  • 4 Esquinas
    • Ver Perfil
    • Eco.Resumen Resumenes Cs. Economicas
Re:Redimencionar imagen de Picture al estilo wordpress plugin
« Respuesta #1 en: Noviembre 24, 2011, 08:48:16 am »
HOLA!!!

Redimensiona la imagen hasta que uno de los segmentos (Altura o Ancho) entran en el cuadro, el otro lo deja...

Por ejemplo tenemos un cuadro de 10x10 y una foto de 20x40 la foto quedara centrada en el cuadro de 10x10 con un tamaño de 10x20

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Redimencionar imagen de Picture al estilo wordpress plugin
« Respuesta #2 en: Noviembre 24, 2011, 04:39:38 pm »
hola 79 he estado jugando con la propiedad paintpicture y a sido un dolor de cabeza haber si me ayudan un poco, sera por el sol 8).

79137913

  • Megabyte
  • ***
  • Mensajes: 185
  • Reputación: +21/-4
  • 4 Esquinas
    • Ver Perfil
    • Eco.Resumen Resumenes Cs. Economicas
Re:Redimencionar imagen de Picture al estilo wordpress plugin
« Respuesta #3 en: Noviembre 24, 2011, 08:32:38 pm »
HOLA!!!

Primero tenes que obtener el tamaño de la imagenes en Pixels H*W
Luego H*W en pixels del contenedor.
Te fijas cual de los dos (H y W) se asemeja mas.
Ahi haces una regla de 3 simple para saber la proporcion
Multiplicas ambos (H y W) por la proporcion y te da el tamaño de la imagen final.

Eso te puedo decir (como obtener el tamaño final) pero no sabria decirte como redimensionarla.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Redimencionar imagen de Picture al estilo wordpress plugin
« Respuesta #4 en: Noviembre 24, 2011, 10:39:06 pm »
Hola, lo mas cercano que conozco es como hace windows, se llama "strech", aca un codigo que creo me lo paso Leandro.

Código: (vb) [Seleccionar]
Option Explicit

Private Declare Function StretchBlt Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function SetStretchBltMode Lib "gdi32" (ByVal hDC As Long, ByVal nStretchMode As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long

' -----------------------------------------------------------------------------------
' \\ -- Adapta una Imagen manteniendo la relacion de aspecto como lo hace windows
' -----------------------------------------------------------------------------------
Public Function AdaptarImagen(ByVal pFormulario As Form, ByVal pImagen As StdPicture, ByVal Pic As Object)
    Dim PLeft As Long, PTop As Long
    Dim ReqWidth As Long, ReqHeight As Long
    Dim HScale As Double, VScale As Double
    Dim MyScale As Double
    Dim ImgWidth As Long
    Dim ImgHeight As Long
    Dim SourceHDC As Long
   
    Pic.ScaleMode = vbPixels
    Pic.AutoRedraw = True
    Pic.Cls
       
    ImgWidth = pFormulario.ScaleX(pImagen.Width, vbHimetric, vbPixels)
    ImgHeight = pFormulario.ScaleY(pImagen.Height, vbHimetric, vbPixels)
       
    HScale = Pic.ScaleWidth / ImgWidth
    VScale = Pic.ScaleHeight / ImgHeight
   
    MyScale = IIf(VScale >= HScale, HScale, VScale)
       
    ReqWidth = ImgWidth * MyScale
    ReqHeight = ImgHeight * MyScale
       
    PLeft = (Pic.ScaleWidth - ReqWidth) / 2
    PTop = (Pic.ScaleHeight - ReqHeight) / 2
         
    SourceHDC = CreateCompatibleDC(0)
    DeleteObject SelectObject(SourceHDC, pImagen.Handle)
    SetStretchBltMode Pic.hDC, vbPaletteModeNone
   
    If pImagen.Type = 3 Then Pic.PaintPicture pImagen, PLeft, PTop, ReqWidth, ReqHeight Else _
    StretchBlt Pic.hDC, PLeft, PTop, ReqWidth, ReqHeight, SourceHDC, 0, 0, ImgWidth, ImgHeight, vbSrcCopy
    DeleteDC SourceHDC
End Function

Private Sub Command1_Click()
    Call AdaptarImagen(Me, Picture1.Picture, Picture1)
End Sub

lo que hace es mantener la relacionde aspecto de ancho y alto y no la deforma y en el espacio que queda queda libre.



fijate si te sirve o le sirve a alguien.

saludos.

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Redimencionar imagen de Picture al estilo wordpress plugin
« Respuesta #5 en: Noviembre 24, 2011, 11:10:32 pm »
Descargate los ejemplos de aca http://leandroascierto.com/foro/index.php?topic=1359.0 y busca el que dice scale, que justamente tiene eso que buscas.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Redimencionar imagen de Picture al estilo wordpress plugin
« Respuesta #6 en: Noviembre 24, 2011, 11:25:26 pm »
el ucImage tiene las tecnicas de Cobein, para escalar una foto :) Scale, ScaleUp y ScaleDown