TXSLib : Class TImage
La classe TImage est un widget qui permet d'afficher une image selon des directives d'affichages permettant de visualiser tout ou partie de l'image avec ou sans transparence.
Cette classe d'objet est compatible avec son utllisation sur un afficheur LCD. Voir la rubrique : LCD 7789 avec Qt
Relations d'héritage
- Hérite de :
- TWidget.
Exemples de "Mapping" d'une image
Ci-dessous un image d'exemple :

Pour les besoins du site Web, cette image est réduite. A l'orgine sa taille est de 600 pixels en largeur et 400 pixels en hauteur.
Selon les valeurs données aux propriétés :
- Mapping
- LeftOrigin
- TopOrigin
- WidthOrigin
- HeightOrigin
- LeftDestination
- TopDestination
- WidthDestination
- HeightDestination
Les propriétés dont le suffixe est "Origin" correspondent aux coordonnées de l'image.
Les propriétés dont le suffixe est "Destination" correspondent aux coordonnées de la zone rectangulaire de l'objet TImage dans lequel le tracé sera effectué.
Les exemples suivants montrent le même objet TImage ou ont été appliqué les différents mode de mapping et de coordonnées. Dans ces exemples, l'objet TImage est dimensionné un peu plus grand que l'image,
soit 680 pixels en largeur pour 500 pixels en hauteur.
Mapping = TXS::Image_Mapping_Normal
- Les coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_Stretched
- Les coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_Centered
- Les coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_StretchedCentered
- Les coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_Fill
- Les coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_NormalAt
- LeftDestination = 100
- TopDestination = 150
- Les autres coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_Mapped
- LeftDestination = 100
- TopDestination = 100
- WidthDestination = 300
- HeightDestination = 75
- Les autres coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_StretchedMapped
- LeftDestination = 100
- TopDestination = 100
- WidthDestination = 300
- HeightDestination = 200
- Les autres coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_StretchedMappedCentered
- LeftDestination = 200
- TopDestination = 200
- WidthDestination = 300
- HeightDestination = 100
- Les autres coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_Partial
- LeftOrigin = 200
- TopOrigin = 0
- WidthOrigin = 100
- HeightOrigin = 350
- Les autres coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_PartialAt
- LeftOrigin = 200
- TopOrigin = 0
- WidthOrigin = 100
- HeightOrigin = 350
- LeftDestination = 400
- TopDestination = 200
- Les autres coordonnées sont ignorées.

Mapping = TXS::Image_Mapping_PartialMapped
- LeftOrigin = 200
- TopOrigin = 180
- WidthOrigin = 300
- HeightOrigin = 50
- LeftDestination = 50
- TopDestination = 50
- WidthDestination = 300
- HeightDestination = 200

Quelques règles de "Mapping"
- Les modes de mapping suivant affichent toujours l'image en respectant ses dimensions (même si toute l'image ne peut être affichée) :
- Image_Mapping_Normal
- Image_Mapping_Centered
- Image_Mapping_NormalAt
- Les modes de mapping suivant affichent toujours l'image en entier en respectant son ratio entre largeur et hauteur (L'image n'est pas déformée) :
- Image_Mapping_Stretched
- Image_Mapping_StretchedCentered
- Image_Mapping_StretchedMapped
- Image_Mapping_StretchedMappedCentered
- Les modes de mapping suivant affichent toujours l'image en entier en respectant son ratio entre largeur et hauteur (L'image n'est pas déformée), mais pour cela ils
peuvent adapter une des 2 coordonées de largeur et hauteur de destination en la réduisant de manière à conserver le ratio d'aspect :
- Image_Mapping_StretchedMapped
- Image_Mapping_StretchedMappedCentered
- Les modes suivant sont libres (déformation, zone affichée, rectangle utilisé) :
- Image_Mapping_Mapped
- Image_Mapping_Partial
- Image_Mapping_PartialAt
- Image_Mapping_PartialMapped
- Le mode suivant dessine toute l'image dans la totalité du rectangle de l'objet TImage. L'image peut donc être déformée :
- Image_Mapping_Fill
Fonctions publiques
| TImage(QWidget *parent = nullptr) | |
| void | void Copy(TImage* pTarget) |
| TImage* | CreateCopy(QWidget *parent = nullptr) |
| void | bool Draw(QPainter* pPainter, const QRect& Rect) |
| QUuid | GetTWidgetIdentifier() |
| QString | GetTWidgetIdentifierAsString() |
| QString | GetTWidgetName() |
| bool | SetImage(const QString& strFileName) |
| bool | SetImage(const QPixmap& Pixmap) |
Propriétés
| Propriétés | Type | Ecriture | Lecture |
| HeightDestination | int | SetHeightDestination | GetHeightDestination |
| HeightOrigin | int | SetHeightOrigin | GetHeightOrigin |
| HighColorTransparency | QColor | SetHighColorTransparency | GetHighColorTransparency |
| Image | QPixmap | SetImage | GetImage |
| ImageFileName | QString | SetImageFileName | GetImageFileName |
| ImageHeight | int | GetImageHeight | |
| ImageWidth | int | GetImageWidth | |
| LeftDestination | int | SetLeftDestination | GetLeftDestination |
| LeftOrigin | int | SetLeftOrigin | GetLeftOrigin |
| LowColorTransparency | QColor | SetLowColorTransparency | GeLowColorTransparency |
| Mapping | TXS::Image_Mapping | SetMapping | GetMapping |
| Quality | TXS::Image_Quality | SetQuality | GetQuality |
| TopDestination | int | SetTopDestination | GetTopDestination |
| TopOrigin | int | SetTopOrigin | GetTopOrigin |
| TransparencyEnabled | bool | EnableTransparency | IsTransparencyEnabled |
| WidthDestination | int | SetWidthDestination | GetWidthDestination |
| WidthOrigin | int | SetWidthOrigin | GetWWidthOrigin |
Description : Contructeur. Instancie un objet de la classe TImage.
Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent s'il existe. Ce paramètre est optionnel
Description : Copie toutes les valeurs des propriétés de cet objet aux propriétés de l'objet TImage passé en paramètre.
Paramètre : pTarget - type TImage* - Pointeur vers un objet TImage vers lequel sont copiées les valeurs des propriétés de cet objet
Description : Crée et retourne un nouvel objet de la classe TImage après avoir initialisé toutes ses propriétés aux valeurs de celles de l'objet utilisé pour créer le nouvel objet.
Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent s'il existe. Ce paramètre est optionnel
Valeur de retour : Pointeur vers le nouvel objet créé.
Description : Permet de tracer cet objet dans un rectangle dont les coordonnées sont passées en paramètres au moyen du QPainter passé en paramètre et créé par une classe héritant du QPaintDevice.
Cette méthode est essentiellement destinée à une utilisation pour tracer sur un LCD via les classes Classe CLCD7789 et Classe CLCD7789PaintDevice de la librairie cpp2835. Voir la rubrique : LCD 7789 avec Qt
Elle peut toutefois être utilisée pour tracer dans un objet d'une classe héritant de QPaintDevice, comme QImage ou QPixmap pour créer une image de l'objet sauvegardable dans un fichier image.
Sauf cas particuliers, cette méthode ne doit pas être utilisée pour tracer sur le moniteur sur lequel fonctionne l'application qui l'héberge. La mise à jour du tracé dans cette condition est contrôlée par l'application par surcharge de la méthode protégée "QWidget::paintEvent".
Paramètre : pPainter - type QPainter* - Pointeur vers un QPainter attaché au QPaintDevice dans lequel il faut tracer l'objet.
Paramètre : Rect - type const QRect& - Coordonnées du rectangle de tracé dans le QPaintDevice.
Description : Retourne un UUID pour cettte classe d'objets.
Valeur de retour : UUID de cette classe d'objets.
Description : Retourne un UUID pour cettte classe d'objets.
Valeur de retour : UUID de cette classe d'objets sous forme de chaine de caractères. La valeur de l'UUID de cette est : 7005aa3c-3250-45df-95c2-4809da5ec82d
Description : Retourne le nom de la classe.
Valeur de retour : Nom de cette classe d'objets sous forme de chaine de caractères. La valeur pour cette class est : TImage
Description : Charge une image à partir d'un fichier. Les formats suivants sont supportés :
| Format | Descrption |
| BMP | Windows Bitmap |
| GIF | Graphic Interchange Format |
| JPG | Joint Photographic Experts Group |
| JPEG | Joint Photographic Experts Group |
| PNG | Portable Network Graphics |
| PBM | Portable Bitmap |
| PGM | Portable Graymap |
| PPM | Portable Pixmap |
| XBM | X11 Bitmap |
| XPM | X11 Bitmap |
Paramètre : strFileName - type QString& - Chemin et nom du fichier image à charger
Valeur de retour : true si l'image a été chargée avec succès.
Description : Charge une image à partir d'un objet QPixmap.
Paramètre : Pixmap - type QPixmap& - Pixmap contenant l'image à charger
Valeur de retour : true si l'image a été chargée avec succès.
Description : Largeur de destination du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Valeur par défaut : 10
Ecriture : void SetHeightDestination(const int& nValue);
Lecture : int GetHeightDestination();
Description : Hauteur de destination du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Valeur par défaut : 10
Ecriture : void SetHeightOrigin(const int& nValue);
Lecture : int GetHeightOrigin();
Description : Définie une des bornes de transparence lorsque ce mode est actif.
Type : QColor
Valeur par défaut : QColor(0,0,0,255)
Ecriture : void SetHighColorTransparency(const QColor& Color);
Lecture : QColor GetHighColorTransparency();
Description : Propriété en lecture seule. Retourne le QPixmap de l'image de l'objet TImage.
Type : QPixmap
Lecture : QPixmap GetImage()
Description : Propriété en lecture seule. Retourne le nom de fichier de l'image de l'objet TImage. La valeur retournée sera une chaine vide si l'image a été chargée via la fonction SetImage(const QPixmap& Pixmap).
Type : QString
Lecture : QString GetImageFileName()
Description : Propriété en lecture seule. Retourne la hauteur de l'image de l'objet TImage.
Type : int
Lecture : int GetImageHeight()
Description : Propriété en lecture seule. Retourne la largeur de l'image de l'objet TImage.
Type : int
Lecture : int GetImageWidtht()
Description : Coordonnée horizontale de destination du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Ecriture : void SetLeftDestination(const int& nValue);
Lecture : int GetLeftDestination()
Description : Coordonnée horizontale d'origine du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Ecriture : void SetLeftOrigin(const int& nValue);
Lecture : int GetLeftOrigin()
Description : Définie une des bornes de transparence lorsque ce mode est actif.
Type : QColor
Valeur par défaut : QColor(255,255,255,255)
Ecriture : void SetLowColorTransparency(const QColor& Color);
Lecture : QColor GetLowColorTransparency();
Description : Définie le mode de tracé de l'image dans le rectangle cible de l'objet TImage.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : TXS::Image_Mapping
Valeur par défaut : TXS::Image_Mapping_StretchedCentered
Ecriture : void SetMapping(const TXS::Image_Mapping& Mapping);
Lecture : TXS::Image_Mapping GetMapping();
Description : Définie la qualité de tracé de l'image dans le rectangle cible de l'objet TImage.
Type : TXS::Image_Quality
Valeur par défaut : TXS::Image_Quality_High
Ecriture : void SetQuality(const TXS::Image_Quality& Quality);
Lecture : TXS::Image_Quality GetQuality();
Description : Coordonnée verticale de destination du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Ecriture : void SetTopDestination(const int& nValue);
Lecture : int GetTopDestination()
Description : Coordonnée verticale d'origine du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Ecriture : void SetTopOrigin(const int& nValue);
Lecture : int GetTopOrigin()
Description : Active ou désactive le mode de tracé avec transparence.
Type : bool
Valeur par défaut : false
Ecriture : void EnableTransparency(const bool& Tf);
Lecture : bool IsTransparencyEnabled();
Description : Largeur de destination du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Ecriture : void SetWidthDestination(const int& nValue);
Lecture : int GetWidthDestination()
Description : Largeur d'origine du tracé de l'image.
Voir les rubriques : Exemples de "Mapping" d'une image et Quelques règles de "Mapping"
Type : int
Ecriture : void SetWidthOrigin(const int& nValue);
Lecture : int GetWidthOrigin()