Les Snippets

Connexion

Transformer des données en image

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 25/03/2006 22:37:59 et initié par EBArtSoft [Liste]
Vue : 2898
Catégorie(s) : API, Fichier / Disque
Langages dispo pour ce code :
- VB6



Langage : VB6
Date ajout : 25/03/2006
Posté par EBArtSoft [Liste]

Private Declare Sub RtlMoveMemory Lib "kernel32" (pDest As Any, pSource As Any, ByVal dwLength As Long)
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalAlloc Lib "kernel32" (ByVal uFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function OleLoadPicture Lib "olepro32" (pStream As Any, ByVal lSize As Long, ByVal fRunmode As Long, riid As Any, ppvObj As Any) As Long
Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpsz As Any, pclsid As Any) As Long
Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long

'//------------------------------------------------------//
'// Create an IPicture from a byte array with win32 API  //
'//------------------------------------------------------//
Function PictureFromBits(Bits() As Byte) As IPicture
'//------------------------------------------------------//
    Dim vStream  As IUnknown
    Dim vIID(15) As Byte
    Dim vSize    As Long
    Dim vMem     As Long
    Dim vPtr     As Long
    vSize = 1 + UBound(Bits)
    vMem = GlobalAlloc(2, vSize)
    If (vMem = 0) Then Exit Function
    vPtr = GlobalLock(vMem)
    If vPtr Then
        RtlMoveMemory ByVal vPtr, Bits(0), vSize
        GlobalUnlock vMem
        If (CreateStreamOnHGlobal(vMem, 1, vStream) = 0) Then
            If (CLSIDFromString(StrPtr("{7BF80980-BF32-101A-8BBB-00AA00300CAB}"), vIID(0)) = 0) Then
                OleLoadPicture ByVal ObjPtr(vStream), vSize, 0, vIID(0), PictureFromBits
            End If
        End If
    End If
    GlobalFree vMem
End Function

' ==== Utilisation : 
'
'Private Sub Command1_Click()
'    Dim Data() As Byte
'    Open App.Path & "\screen.jpg" For Binary As #1
'    ReDim Data(LOF(1) - 1)
'    Get #1, , Data
'    Close #1
'    Set Picture = PictureFromBits(Data)
'End Sub



Snippets en rapport avec : Picture, Transformation



Codes sources en rapport avec : Picture, Transformation

{JAVA / J2EE} FAIRE DEFILER UNE IMAGE
...

{PHP} CRÉE UNE IMAGE DE PILE DE MINIATURES EN UTILISANT LA BIBLIOTHÈQUE GD
Tout est dans le titre. Regarder la capture pour mieux comprendre. N'hésitez pas à me contacter ...

{Visual Basic, VB6, VB.NET, VB 2005} DESSINER AVEC LA METHODE "DRAWIMAGE"
la methode "paintpicture" propre a VB6, simple et efficace ... ne semble plus marcher sur VB2005. j'...

{Visual Basic, VB6, VB.NET, VB 2005} LOUPE PICTURE BOX
Une loupe agrandissant une image réduite aux dimensions de l’écran Ayant été confronté a afficher d...

{Visual Basic, VB6, VB.NET, VB 2005} DÉPLACER ET DIMENSIONNER UNE SÉLECTION DANS UNE PICTUREBOX
créer une sélection (chape) sur une (picturebox) la déplacer et la dimensionner... ce code n'est pas...

{PHP} [PHP5] EXCEPTIONERROR PACKAGE : TRANSFORMER TOUTES LES ERREURS PHP EN EXCEPTIONS INTERCEPTABLES
Ce package permet de transformer toutes les erreurs PHP en exceptions interceptables. En clair, sur...

{Visual Basic, VB6, VB.NET, VB 2005} PROGRESS BAR COULEURS DIFFERENTES
Bonjour, Je pense que le code est certainement deja disponible je ne veux pas faire une source de...

{JAVA / J2EE} DKSWARPEDITOR : TRANSFORMEZ UNE IMAGE TRÈS SIMPLEMENT
Voici de nouveau une source qui fera parti d'une source beaucoup plus ambitieuse que je mettrais une...

{Delphi} MORPHING ENTRE DEUX IMAGES
Petit utilitaire de Morphing, code assez crade, mais efficace :)))))...

{Visual Basic, VB6, VB.NET, VB 2005} REDIMENSIONNER IMAGE + COMPRESSION EN JPG ( AVEC OPTION )
Bonjour, Ce controle utilisateur reprend pour plus de simplicité la methode de redimensionnement ...