Avatar billede enric Nybegynder
23. december 2003 - 20:21 Der er 2 kommentarer og
1 løsning

download et billede

Jeg vil download et billede på en lille picturebox men orginal billedet er 4 mb d.v.s. at enten fylder det for meget eller  så kan jeg kun se en del af billedet
er der en som har løsningen?
Avatar billede joern Nybegynder
23. december 2003 - 20:28 #1
Hej.

hvis du bruger en imageboks i stedet for, kan du vælge egenskaben stretch som true.  Derved tilpasses billedet til den størrelse boksen har.  Men hvis ikke billedet skal blive fortegnet skal billede og boks have samme forhold mellem siderne f.eks. 4:3.

Det er muligt af skrive kode således at boksen tager form efter billedet, så anvendes en skjult pictureboks for at få beregnet forholdet.

M.v.h.  Jørn
Avatar billede sjh Nybegynder
23. december 2003 - 20:53 #2
'--------------------------------------- Form1 ---------------------------------------
Option Explicit

Private Type TGUID
        Data1 As Long
        Data2 As Integer
        Data3 As Integer
        Data4(0 To 7) As Byte
End Type

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" ( _
                        ByVal szURLorPath As Long, _
                        ByVal punkCaller As Long, _
                        ByVal dwReserved As Long, _
                        ByVal clrReserved As OLE_COLOR, _
                        ByRef riid As TGUID, _
                        ByRef ppvRet As IPicture) As Long

Public Function LoadPicture(ByVal strFileName As String) As Picture
Dim IID  As TGUID
  With IID
      .Data1 = &H7BF80980
      .Data2 = &HBF32
      .Data3 = &H101A
      .Data4(0) = &H8B
      .Data4(1) = &HBB
      .Data4(2) = &H0
      .Data4(3) = &HAA
      .Data4(4) = &H0
      .Data4(5) = &H30
      .Data4(6) = &HC
      .Data4(7) = &HAB
  End With
On Error GoTo ERR_LINE
  OleLoadPicturePath StrPtr(strFileName), 0&, 0&, 0&, IID, LoadPicture
  Exit Function
ERR_LINE:
  Set LoadPicture = VB.LoadPicture(strFileName)
End Function

Public Sub PicResize(ByVal Procent As Long, picSrc As Object, picDst As Object)
Dim dx1 As Long, dy1 As Long, dx2 As Long, dy2 As Long
  dx1 = picSrc.Width
  dy1 = picSrc.Height
  dx2 = (dx1 * Procent / 100)
  dy2 = (dy1 * Procent / 100)
  picDst.PaintPicture picSrc, 0, 0, dx2, dy2
End Sub

Private Sub Form_Load()
  With Picture1 '<- Picture1 til at gemme det billede som bliver downloade.
      .Visible = False
      .AutoRedraw = True
      .Picture = LoadPicture("http://www.eksperten.dk/img/eksperten_logo_new.gif")
  End With

  With Picture2 '<- Picture2
      .AutoRedraw = True
  End With

  'resize til 50 procent.
  Call PicResize(50, Picture1, Picture2)
End Sub
'--------------------------------------- Form1 ---------------------------------------
Avatar billede enric Nybegynder
23. december 2003 - 23:45 #3
Tak og god Jul
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester