Module TinyIFF (Images Amiga IFF ILBM PBM)
Re: Module TinyIFF (Images Amiga IFF ILBM PBM)
Oui en mieux puisque ca corrige aussi quelques coquilles (ham8 avait un petit bug) et le iff24 passe en dessous des 350ms avec marble (sur ma machine pas très puissante). Bon, j'ai enlevé 2 ou 3 trucs pas très utiles dans cette lib qui se veut "tiny". Mais tout ca a l'air bien stable car j'ai pas réussi à le faire planter et il y a encore matière à l'améliorer. Pas vu de problème sur un gros échantillon d'images très variées, sauf pour les formats batards qui utilisaient le copper de l'amiga (Sliced HAM, Dynamic HAM, HAM-E, PCHG, CTBL) mais elles sont très rares et elles s'ouvrent quand même en mode dégradé.
Re: Module TinyIFF (Images Amiga IFF ILBM PBM)
Cool, t'es rodé
Je partagerai aussi une archive avec plein d'images iff variées pour que vous testiez cà.
J'utilise aussi un convertisseur jpg/png/gif vers iff qui produit des images 256, EHB, HAM d'excellente qualité.
Mais le plus intéressant avec ce module c'est de regarder les vraies images originales de l'époque.
Pour le #PB_Any, je vais voir ce que je peux faire (ajouter ImageID dans les fonctions Load/Catch).
Je partagerai aussi une archive avec plein d'images iff variées pour que vous testiez cà.
J'utilise aussi un convertisseur jpg/png/gif vers iff qui produit des images 256, EHB, HAM d'excellente qualité.
Mais le plus intéressant avec ce module c'est de regarder les vraies images originales de l'époque.
Pour le #PB_Any, je vais voir ce que je peux faire (ajouter ImageID dans les fonctions Load/Catch).
Re: Module TinyIFF (Images Amiga IFF ILBM PBM)
Je viens de faire une modif pour accepter un ImageID classique ou #PB_Any,
c'est vrai que c'est plus conforme comme çà avec le standard PureBasic.
Je ne sais pas si c'est la bonne manière de faire mais çà me semble correcte.
Voir le post un peu plus haut (version 1.5).
Et un peu de docs çà fait toujours plus mieux pour un module
c'est vrai que c'est plus conforme comme çà avec le standard PureBasic.
Je ne sais pas si c'est la bonne manière de faire mais çà me semble correcte.
Voir le post un peu plus haut (version 1.5).
Et un peu de docs çà fait toujours plus mieux pour un module
Code : Tout sélectionner
DeclareModule TinyIFF
; @TinyIFF::Load()
; Charge une image à partir de l'emplacement disque spécifié.
; #ImageID : Le numéro d'identification de l'image à charger.
; FileName$ : Le chemin et le nom du fichier à charger.
; KeepAspect : Garde l'aspect original de l'image (Tient compte de xAspect/yAspect).
; ResizeMode : Mode de redimensionnement de l'image (avec ou sans interpolation).
Declare Load(ImageID.l, FileName$, KeepAspect.l = #True, ResizeMode.l = #PB_Image_Raw)
; @TinyIFF::Catch()
; Charge une image à partir de l'emplacement mémoire spécifié.
; #ImageID : Le numéro d'identification de l'image à charger.
; *Memory : Adresse de l'emplacement mémoire.
; MemSize.q : Taille de l'emplacement mémoire (en octets).
; KeepAspect : Garde l'aspect original de l'image (Tient compte de xAspect/yAspect).
; ResizeMode : Mode de redimensionnement de l'image (avec ou sans interpolation).
Declare Catch(ImageID.l, *Memory, MemSize.q, KeepAspect.l = #True, ResizeMode.l = #PB_Image_Raw)
; @Parameter KeepAspect
; #True : Garde l'aspect original de l'image (défaut).
; #False : Redimensionne l'image en tenant compte de xAspect/yAspect.
; @Parameter ResizeMode
; #PB_Image_Raw : Redimensionne l'image avec interpolation (défaut).
; #PB_Image_Smooth : Redimensionne l'image sans interpolation.
EndDeclareModule
Re: Module TinyIFF (Images Amiga IFF ILBM PBM)
Voilou une archive contenant Includes + Viewer très basique + une 40aine d'images de tests variées.
https://www.filepicker.io/api/file/3OaoviNtQrmcDHOXsUKX
Et une autre archive d'images bien sympa (déjà posté quelques posts plus tôt)
https://www.filepicker.io/api/file/9TWib84jTZCM82hwZeET
Il y a quelques grosses images > 1Mo - mieux vaut désactiver le debugger (Temps de chargement x20 ou plus souvent).
https://www.filepicker.io/api/file/3OaoviNtQrmcDHOXsUKX
Et une autre archive d'images bien sympa (déjà posté quelques posts plus tôt)
https://www.filepicker.io/api/file/9TWib84jTZCM82hwZeET
Il y a quelques grosses images > 1Mo - mieux vaut désactiver le debugger (Temps de chargement x20 ou plus souvent).
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Module TinyIFF (Images Amiga IFF ILBM PBM)
Merci pour ce partage Flype.
PS : Sous windows supprimer la bibliothéque sous system Gtk2 des options de compilation et faire glisser les images pour les visualiser.
PS : Sous windows supprimer la bibliothéque sous system Gtk2 des options de compilation et faire glisser les images pour les visualiser.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Module TinyIFF (Images Amiga IFF ILBM PBM)
Ha, merci falsam j'avais pas vu
J'ai re-uploadé l'archive sans gtk2 dans les options de compilation.
J'ai re-uploadé l'archive sans gtk2 dans les options de compilation.