OFFICE : Module de gestion des images avec GDI+ Par Thierry GASPERMENT Date de

OFFICE : Module de gestion des images avec GDI+ Par Thierry GASPERMENT Date de publication : 9 août 2013 Dernière mise à jour : 9 octobre 2019 Module de classe VBA pour faciliter l'utilisation de la bibliothèque graphique gdiplus.dll (GDI +). Version actuelle : v3.1 Compatible Office 32bits et 64bits. La version 3.0 est une version majeure. En annexe vous trouverez les modifications majeures à prendre en compte pour une montée de version depuis une version antérieure à la v3.0. OFFICE : Module de gestion des images avec GDI+ par Thierry GASPERMENT I - Introduction..............................................................................................................................................................7 II - Remarques préalables........................................................................................................................................... 7 II-A - Remarques....................................................................................................................................................7 II-B - Prérequis....................................................................................................................................................... 7 II-C - Compatibilité avec Excel, Word et PowerPoint............................................................................................ 7 II-D - Long ou Single ?...........................................................................................................................................8 II-E - Image principale et images secondaires...................................................................................................... 8 III - Création et de sauvegarde de l'image principale................................................................................................. 8 III-A - LoadFile........................................................................................................................................................8 III-B - CloseImage.................................................................................................................................................. 9 III-C - CreateBitmap............................................................................................................................................... 9 III-D - CreateBitmapForControl.............................................................................................................................. 9 III-E - CreateBitmapForImg.................................................................................................................................. 10 III-F - CreateBitmapForDC................................................................................................................................... 10 III-G - CreateBitmapForHwnd...............................................................................................................................10 III-H - SaveFile..................................................................................................................................................... 11 III-I - SaveTransformFile.......................................................................................................................................11 III-J - SavePixels.................................................................................................................................................. 12 III-K - LoadPixels..................................................................................................................................................12 III-L - LoadBitmap.................................................................................................................................................13 III-M - LoadPictureMask....................................................................................................................................... 13 III-N - SaveBitmap................................................................................................................................................14 III-O - LoadArray...................................................................................................................................................14 III-P - SaveArray...................................................................................................................................................14 III-Q - LoadControl................................................................................................................................................15 III-R - SaveIPictureDisp........................................................................................................................................15 III-S - ConvertForImg............................................................................................................................................15 III-T - IconBackColor............................................................................................................................................ 15 III-U - LoadAndClone............................................................................................................................................16 IV - Restitution de l'image principale à l'écran..........................................................................................................16 IV-A - Repaint.......................................................................................................................................................16 IV-B - RepaintNoFormRepaint............................................................................................................................. 16 IV-C - RepaintFast................................................................................................................................................17 IV-D - RepaintFastSetCorrection..........................................................................................................................17 IV-E - RepaintFastSetClipControl.........................................................................................................................18 IV-F - RepaintFastSetClipRectangle.................................................................................................................... 18 IV-G - RepaintFastSetClipRegion........................................................................................................................ 19 IV-H - RepaintFastResetClip................................................................................................................................ 19 IV-I - RepaintFastTransparency........................................................................................................................... 20 IV-J - RepaintFastResetCalc................................................................................................................................20 V - Événements......................................................................................................................................................... 20 V-A - ImgMouseDown.......................................................................................................................................... 20 V-B - ImgMouseUp...............................................................................................................................................20 V-C - ImgMouseMove.......................................................................................................................................... 21 V-D - ImgMouseDblClick......................................................................................................................................21 VI - Modification de l'image principale...................................................................................................................... 21 VI-A - Clear...........................................................................................................................................................21 VI-B - FillColor......................................................................................................................................................21 VI-C - ReplaceColor............................................................................................................................................. 21 VI-D - ApplyColorMatrix........................................................................................................................................22 VI-E - Resize........................................................................................................................................................ 22 VI-F - ScaleI......................................................................................................................................................... 23 VI-G - Crop...........................................................................................................................................................23 VI-H - Rotate........................................................................................................................................................ 24 VI-I - RotateFlip.................................................................................................................................................... 24 VII - Dessin (formes, textes, images)........................................................................................................................24 VII-A - DrawPixel..................................................................................................................................................24 VII-B - DrawLine...................................................................................................................................................25 - 2 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Thierry GASPERMENT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. http://arkham46.developpez.com/articles/office/clgdiplus/doc/ OFFICE : Module de gestion des images avec GDI+ par Thierry GASPERMENT VII-C - DrawRectangle......................................................................................................................................... 25 VII-D - DrawRoundRectangle...............................................................................................................................26 VII-E - DrawEllipse............................................................................................................................................... 26 VII-F - DrawPolygon.............................................................................................................................................27 VII-G - DrawPathClose.........................................................................................................................................27 VII-H - DrawCurve................................................................................................................................................28 VII-I - DrawCardinal..............................................................................................................................................28 VII-J - DrawSVG...................................................................................................................................................28 VII-K - DrawText................................................................................................................................................... 29 VII-L - TextRenderingHint.....................................................................................................................................30 VII-M - TextCreateRegionOutline......................................................................................................................... 30 VII-N - DrawImg....................................................................................................................................................30 VII-O - DrawBitmap.............................................................................................................................................. 31 VII-P - DrawControl.............................................................................................................................................. 32 VII-Q - DrawTexture..............................................................................................................................................33 VII-R - PenAlignMode...........................................................................................................................................33 VII-S - SmoothingMode........................................................................................................................................33 VII-T - DrawDashCustom..................................................................................................................................... 33 VII-U - LineStart....................................................................................................................................................34 VII-V - LineEnd.....................................................................................................................................................34 VII-W - LineJoin....................................................................................................................................................34 VII-X - LineJoinMiterLimit..................................................................................................................................... 34 VII-Y - LineArrowLength.......................................................................................................................................34 VII-Z - LineArrowFill..............................................................................................................................................34 VIII - Liste d'images secondaires.............................................................................................................................. 34 VIII-A - ImgNew....................................................................................................................................................35 VIII-B - ImgNewForImage.....................................................................................................................................35 VIII-C - ImgNewTemp...........................................................................................................................................35 VIII-D - Img...........................................................................................................................................................36 VIII-E - ImgExists..................................................................................................................................................36 VIII-F - Imgs..........................................................................................................................................................36 VIII-G - ImgDelete................................................................................................................................................ 36 VIII-H - ImgsDelete...............................................................................................................................................36 VIII-I - ImgClone................................................................................................................................................... 37 VIII-J - ImgDraw................................................................................................................................................... 37 VIII-K - ImgName..................................................................................................................................................38 VIII-L - Parent.......................................................................................................................................................38 IX - Transformations.................................................................................................................................................. 38 IX-A - WorldRotate............................................................................................................................................... 38 IX-B - WorldTranslate...........................................................................................................................................38 IX-C - WorldScale.................................................................................................................................................39 IX-D - WorldReset................................................................................................................................................ 39 IX-E - WorldPush..................................................................................................................................................39 IX-F - WorldPop....................................................................................................................................................39 IX-G - WorldView..................................................................................................................................................39 IX-H - WorldGetMatrix.......................................................................................................................................... 40 IX-I - WorldSetMatrix............................................................................................................................................ 40 IX-J - WorldTransformPoint.................................................................................................................................. 40 IX-K - WorldTransformVector............................................................................................................................... 40 X - Régions / collisions..............................................................................................................................................41 X-A - RegionAppend............................................................................................................................................ 41 X-B - CreateRegionLine....................................................................................................................................... 41 X-C - CreateRegionEllipse................................................................................................................................... 41 X-D - CreateRegionPolygon.................................................................................................................................41 X-E - CreateRegionRect.......................................................................................................................................42 X-F - CreateRegionRoundRect............................................................................................................................ 42 X-G - CreateRegionCurve....................................................................................................................................42 X-H - CreateRegionCardinal................................................................................................................................ 43 - 3 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Thierry GASPERMENT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. http://arkham46.developpez.com/articles/office/clgdiplus/doc/ OFFICE : Module de gestion des images avec GDI+ par Thierry GASPERMENT X-I - CreateRegionSVG........................................................................................................................................43 X-J - CreateRegionFromColor..............................................................................................................................43 X-K - Regions.......................................................................................................................................................44 X-L - RegionDelete...............................................................................................................................................44 X-M - RegionsDelete............................................................................................................................................44 X-N - RegionFrame.............................................................................................................................................. 44 X-O - RegionFill....................................................................................................................................................45 X-P - RegionHatch............................................................................................................................................... 45 X-Q - FillMode...................................................................................................................................................... 45 X-R - GetRegionXY..............................................................................................................................................45 X-S - GetRegionXYLine....................................................................................................................................... 46 X-T - PointInRegion..............................................................................................................................................47 X-U - PointInRegionLine.......................................................................................................................................47 X-V - RegionGetRect............................................................................................................................................47 X-W - RegionGetCenter....................................................................................................................................... 48 X-X - RegionExists............................................................................................................................................... 48 X-Y - RegionIsEmpty............................................................................................................................................48 X-Z - RegionIsPath...............................................................................................................................................48 X-AA - RegionCombine........................................................................................................................................49 X-AB - RegionScale............................................................................................................................................. 49 X-AC - RegionTranslate....................................................................................................................................... 49 X-AD - RegionRotate............................................................................................................................................49 X-AE - RegionTransform...................................................................................................................................... 50 X-AF - RegionsIntersect.......................................................................................................................................50 X-AG - RegionClone.............................................................................................................................................50 X-AH - SetFormRegion........................................................................................................................................ 50 X-AI - ResetFormRegion......................................................................................................................................51 X-AJ - RegionIsPath.............................................................................................................................................51 X-AK - NormalRegionPoint...................................................................................................................................51 X-AL - RayCast.................................................................................................................................................... 52 X-AM - RegionWorldTransform............................................................................................................................ 52 XI - Sauvegarde de l'image principale en mémoire..................................................................................................53 XI-A - ImageKeep.................................................................................................................................................53 XI-B - ImageReset................................................................................................................................................53 XI-C - ImageExists............................................................................................................................................... 53 XI-D - ImageDelete...............................................................................................................................................53 XI-E - ImagesDelete.............................................................................................................................................53 XI-F - ImageGetBitmap........................................................................................................................................ 53 XII - Données Exif..................................................................................................................................................... 54 XII-A - GetExifData...............................................................................................................................................54 XII-B - SetExifData............................................................................................................................................... 54 XII-C - GenerateThumbnail.................................................................................................................................. 54 XII-D - ImportExifData.......................................................................................................................................... 54 XIII - Gif animés.........................................................................................................................................................55 XIII-A - GifSetFrame.............................................................................................................................................55 XIII-B - GifGetFrameCount...................................................................................................................................55 XIII-C - GifGetFrameDelay................................................................................................................................... 55 XIV - Textures............................................................................................................................................................ 55 XIV-A - TextureAddFromFile................................................................................................................................ 55 XIV-B - TextureAddFromImg................................................................................................................................ 55 XIV-C - TextureAddFromControl.......................................................................................................................... 56 XIV-D - TextureDelete.......................................................................................................................................... 56 XIV-E - TextureTranslate...................................................................................................................................... 56 XIV-F - TextureScale............................................................................................................................................ 56 XIV-G - TextureRotate..........................................................................................................................................57 XIV-H - TextureTransform.....................................................................................................................................57 XIV-I - TextureReset.............................................................................................................................................57 XIV-J - TextureWidth............................................................................................................................................ 57 - 4 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Thierry GASPERMENT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. http://arkham46.developpez.com/articles/office/clgdiplus/doc/ OFFICE : Module de gestion des images avec GDI+ par Thierry GASPERMENT XIV-K - TextureHeight...........................................................................................................................................57 XIV-L - FillTexture.................................................................................................................................................58 XIV-M - PenTexture..............................................................................................................................................58 XIV-N - TextureWrap............................................................................................................................................ 58 XV - Matrices............................................................................................................................................................. 58 XV-A - MatrixNew.................................................................................................................................................58 XV-B - MatrixDelete..............................................................................................................................................59 XV-C - MatrixTranslate.........................................................................................................................................59 XV-D - MatrixScale...............................................................................................................................................59 XV-E - MatrixRotate............................................................................................................................................. 60 XV-F - MatrixMultiply............................................................................................................................................60 XV-G - MatrixInvert...............................................................................................................................................60 XV-H - MatrixExists.............................................................................................................................................. 60 XV-I - Matrix......................................................................................................................................................... 61 XV-J - MatrixTransformPoint................................................................................................................................ 61 XV-K - MatrixTransformPointSingle......................................................................................................................61 XV-L - MatrixTransformVector..............................................................................................................................61 XV-M - MatrixTransformVectorSingle...................................................................................................................62 XV-N - Les matrices prédéfinies..........................................................................................................................62 XV-N-1 - RepaintMatrix...................................................................................................................................62 XV-N-2 - DrawMatrix.......................................................................................................................................62 XV-N-3 - MatrixPointsToPixels........................................................................................................................62 XV-N-4 - MatrixPixelsToPoints........................................................................................................................62 XV-N-5 - MatrixCmToPixels............................................................................................................................ 62 XV-N-6 - MatrixPixelsToCm............................................................................................................................ 62 XV-N-7 - MatrixCtrlToImg................................................................................................................................62 XV-N-8 - MatrixImgToCtrl................................................................................................................................63 XVI - Polices de caractères.......................................................................................................................................63 XVI-A - FontPrivateAddFromFile..........................................................................................................................63 XVI-B - FontPrivateAddFromByte........................................................................................................................ 63 XVI-C - FontsPrivateDelete.................................................................................................................................. 63 XVI-D - FontsEnumerate......................................................................................................................................63 XVII - Conversion de coordonnées........................................................................................................................... 64 XVII-A - ImgToCtrlX et ImgToCtrlY.......................................................................................................................64 XVII-B - CtrlToImgX et CtrlToImgY.......................................................................................................................64 XVII-C - PointsToPixelsX et PointsToPixelsY.......................................................................................................64 XVII-D - PixelsToPointsX et PixelsToPointsY.......................................................................................................65 XVIII - Minuteries....................................................................................................................................................... 65 XVIII-A - Wait........................................................................................................................................................65 XVIII-B - TimeStart............................................................................................................................................... 65 XVIII-C - TimeElapsedMs.....................................................................................................................................65 XIX - Curseur.............................................................................................................................................................66 XIX-A - CursorAddFromFile................................................................................................................................. 66 XIX-B - CursorAddFromId.................................................................................................................................... 66 XIX-C - CursorAddFromImg................................................................................................................................. 66 XIX-D - CursorSet................................................................................................................................................ 66 XIX-E - CursorDelete............................................................................................................................................66 XX - Autres méthodes diverses.................................................................................................................................67 XX-A - GetPixel.................................................................................................................................................... 67 XX-B - LongToRGB.............................................................................................................................................. 67 XX-C - SetXPTheme............................................................................................................................................ 67 XX-D - SetDoubleBufferXP...................................................................................................................................68 XX-E - DragForm..................................................................................................................................................68 XX-F - FontSizeToPixel........................................................................................................................................ 69 XX-G - PixelToFontSize........................................................................................................................................69 XX-H - GetUserFormHandle................................................................................................................................ 69 XX-I - GetClientHandle.........................................................................................................................................69 XX-J - PathIsImage.............................................................................................................................................. 70 - 5 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 Thierry GASPERMENT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. http://arkham46.developpez.com/articles/office/clgdiplus/doc/ OFFICE : Module de gestion des images avec GDI+ par Thierry GASPERMENT XX-K - GetControlPos.......................................................................................................................................... 70 XX-L - ApplicationPath......................................................................................................................................... 70 XX-M - UserData..................................................................................................................................................70 XXI - Propriétés diverses...........................................................................................................................................70 XXI-A - ImgObject................................................................................................................................................ 70 XXI-B - Self...........................................................................................................................................................71 XXI-C - ImageWidth et ImageHeight................................................................................................................... 71 XXI-D - DpiX et DpiY........................................................................................................................................... 71 XXI-E - ImageFormat........................................................................................................................................... 71 XXI-F - ImageFormatText.....................................................................................................................................71 XXI-G - ImagePixelFormat................................................................................................................................... 72 XXI-H - RefControl............................................................................................................................................... 72 XXI-I - WrapX et WrapY.......................................................................................................................................72 XXI-J - TransparencyMode...................................................................................................................................72 XXI-K - HasTransparency.....................................................................................................................................73 XXI-L - AntialisingLevel........................................................................................................................................ 73 XXI-M - LastTextBottom et LastTextRight............................................................................................................ 73 XXI-N - MaxTextSize, MinTextSize et LastTextSize.............................................................................................73 XXI-O - DrawClipRegion...................................................................................................................................... 73 XXI-P - DrawClipRectangle..................................................................................................................................73 XXII - Remerciements................................................................................................................................................74 XXIII - Les téléchargements...................................................................................................................................... 74 XXIV - Annexe : adaptation du code pour passage à la version 3...........................................................................74 - 6 - Les sources présentées sur cette page sont libres de droits uploads/S4/ classe-gdi-plus-vba.pdf

  • 55
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 04, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.8127MB