ACCESS : Historique des modifications de la classe ClImage
Date de publication : 29/01/06 , Date de mise à jour : 18/03/08
Par
Thierry GASPERMENT (arkham46.developpez.com/)
I. v 0.2 (29/01/06)
I-A. Corrections
Correction du dimensionnement des captures d'écran dans un contrôle (fonction CaptureScreen)
Correction dans la fonction ImgRefreshData si les dimensions de l'image ont changées depuis l'appel à la fonction KeepImgData
Correction du positionnement des textes alignés à droite ou en bas sur un point
Correction du calcul des coordonnées pour les images redimensionnées (acOLESizeZoom et acOLESizeStretch)
Correction dans le calcul des dimensions et des positions des images MétaFile
(généralement utilisées lorsqu'il y a redimensonnement de l'image
Amélioration du redimensionnement des grandes images sous Acces97
La procédure LongToRGB a été transformée en fonction. Elle renvoie Vrai s'il n'y pas eu d'erreur (comme toutes les autres fonctions).
I-B. Ajouts
Ajout des fonctions RGBtoHLS et HLStoRGB pour obtenir les composantes Teinte/Luminosité/Saturation d'une couleur
Ajout de la fonction FontSizeToHeight pour créer une police de caractères à partir d'une taille en points (comme indiqué dans les contrôles de type étiquette, zone de texte, ...)
au lieu de en pixels
Ajout de la fonction ColorBrightness pour modifier la luminosité d'une couleur
Ajout d'une deuxième couleur dans la fonction FillColor pour faire des dégradés de couleurs.
I-C. Bugs connus
Les images de grandes tailles peuvent ne pas s'afficher sous Windows 98 si la taille visible de l'image est trop réduite.
Ex: Affichage d'une photo en 2048*1536 pixels dans une boîtes de 120*80 pixels.
L'affichage translucide des textes et des images ne fonctionne pas correctement sous Windows 98.
L'appel à une fonction PaintImage ou DrawText avec demande d'affichage translucide peut faire planter l'application.
(Bug dans l'API de Window 98).
II. v 0.3 (22/10/06)
II-A. Corrections
GetTextLength renvoyait la largeur en pixels au lieu de twips
Bug avec CaptureScreen dans contrôle si pas de contrôle défini avec SetImgCtrl
Le sélecteur d'enregistrement était parfois à l'origine de décalages.
Correction de taille des images EMF intégrées dans le contrôle.
Ajout de LoadLibrary à l'initialisation de la classe pour un fonctionnement correct de gdiplus.dll dans le répertoire de l'application
Modification de la fonction GetOLEPictureSize : la référence à OLE Automation n'est plus nécessaire.
Les fonctions AddAutoRegion et SetFormRegion (avec couleur) ne fonctionnaient pas en section en-tête ou pied de formulaire.
Fonctions CtrlToImgX,CtrlToImgY,ImgToCtrlX,ImgToCtrlY : Passage du paramètre pX ou pY par valeur pour ne pas le modifier
Fonction Transform. Le bitmap résultant de la transformation n'était pas être envoyé correctement
vers le presse-papier avec la fonction ImgToClipBoard.
II-B. Ajouts
Dessin direct à l'écran sans mise à jour de l'image dans le contrôle.
Mettre pTemporary = Vrai dans la fonction Repaint.
Ajout pDelRegions dans la fonction SetImgCtrl pour changement d'un contrôle à un autre sans perdre les régions.
(utile pour conserver les régions au niveau formulaire avant un SetFormRegion).
Ajout pTranspcolor et pPercent dans la fonction RefreshImgData pour affichage superposé (comme des calques).
Ajout de la fonction SetDoubleBufferXP pour réduire les scintillements sous XP avec Access 2003.
Ajout de la fonction SetXPTheme pour réduire les scintillements sous XP avec Access 2003.
Transparence du fond de l'image : propriété CtrlTranspColor.
Ajout de fonctions GetRectangleRegionWidth et GetRectangleRegionHeight pour lire la taille d'une région.
Ajout du paramètre pArrowLength dans la fonction DrawLine pour dessiner une flèche.
Ajout d'énumérations pour Access 2000 et plus.
Dans la fonction DrawNewFont les paramètres autres que la taille sont devenus optionnels
Ajout des fonctions de sauvegarde : SaveToPng,SaveToGif,SaveToTif (nécessite gdiplus)
II-C. Bugs connus et limitations
Les images de grandes tailles peuvent ne pas s'afficher sous Access 97 si la taille visible de l'image est trop réduite.
Ex: Affichage d'une photo en 2048*1536 pixels dans une boîte de 120*80 pixels.
L'affichage translucide des textes et des images ne fonctionne pas correctement sous Windows 98.
L'appel à une fonction PaintImage ou DrawText avec demande d'affichage translucide peut faire planter l'application.
(Bug dans l'API de Window 98).
Il peut y avoir des décalages lorsque l'on définit une image avec une bordure.
Particulièrement lors du dessin en direct avec Repaint True.
Pour éviter les décalages, définissez une image sans bordure, et placez un rectangle autour de l'image pour simuler la bordure.
(L'intégration des bordures dans la classe étant trop complexe, il en sera toujours ainsi).
DragForm ne fonctionne que sur un formulaire indépendant.
Sur Access 97, la fonction Repaint avec pTemporary à Vrai ne fonctionne pas (décalage) lorsqu'on déplace l'ascenceur vertical.
II. v 0.4 (25/07/07)
II-A. Corrections
Corrections sur fonction AddAutoRegion.
Corrections pour image EMF (dans procédure Repaint) : la taille de l'image était incorrecte.
II-B. Ajouts
Function AddAutoRegion : pPointX , pPointY : Coordonnées d'un points : tous les points adjacents de la même couleur forment la région
II-C. Bugs connus et limitations
L'affichage translucide des textes et des images ne fonctionne pas correctement sous Windows 98.
L'appel à une fonction PaintImage ou DrawText avec demande d'affichage translucide peut faire planter l'application.
(Bug dans l'API de Window 98).
Il peut y avoir des décalages lorsque l'on définit une image avec une bordure.
Particulièrement lors du dessin en direct avec Repaint True.
Pour éviter les décalages, définissez une image sans bordure, et placez un rectangle autour de l'image pour simuler la bordure.
(L'intégration des bordures dans la classe étant trop complexe, il en sera toujours ainsi).
DragForm ne fonctionne que sur un formulaire indépendant.
Sur Access 97, la fonction Repaint avec pTemporary à Vrai ne fonctionne pas (décalage) lorsqu'on déplace l'ascenceur vertical.
II. v 0.5 (18/03/08)
II-A. Corrections
CmToTwips : paramètre pCm de type single pour passage de valeurs décimales.
ImageListAdd : correction si pTransform est un tableau.
FillColor : Correction de conversion verticale.
DrawEllipse : Correction pY2 pour region.
Correction Repaint temporaire avec barre de défilement pour Access 2007.
AddRegionBackColor : Paramètre pCtrlCoord passé par valeur.
Ajout sur SetFormRegion du test de retour de l'API.
Ajout dans SetFormRegion d'une region temporaire pour SetWindowRgn.
Correction sur RegionInRegion avec un tableau de region.
II-B. Ajouts / Améliorations
SetImgCtrl : paramètre pWidth et pHeight pour spécifier une taille de l'image différente de celle du contrôle (si pas d'image dans le contrôle).
GetMouseRegion : Ajout paramètre BeginFromLast.
Ajout propriété Antialiase.
Transform : transformation plus rapide.
Transform : ajout de FASTROTATE pour rotation plus rapide (> win98).
Transform :ajout de transformation "SEPIA".
Modification de PaintImage, plus rapide.
Modification de Fillcolor (beaucoup plus rapide sur les dégradés).
Ajout pOneDimension dans Setpixels et Getpixels.
Ajout pNoRepaint dans SetImgCtrl.
Ajout pNoCtrlResize dans ImgResize.
Nouvelle fonction : SaveToEmf.
Ajout COPY dans CombineRegion.
Ajout pIncludeRgn dans GetMouseRegion.
Ajout pExcludeRgn dans GetMouseRegion.
Ajout pResizeBefore sur Repaint.
II-C. Bugs connus et limitations
Idem version précédentes
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 ©
Thierry GASPERMENT. Aucune reproduction, même partielle, ne peut être
faite de ce site ni 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.