Module TinyIFF (Images Amiga IFF ILBM PBM)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par Flype »

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é.
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par Flype »

Bonne intégration dans ton viewer :)
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par Flype »

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).
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par Flype »

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 :mrgreen:

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
Image
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par Flype »

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).
Image
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par falsam »

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.
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%
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Re: Module TinyIFF (Images Amiga IFF ILBM PBM)

Message par Flype »

Ha, merci falsam :) j'avais pas vu :mrgreen:
J'ai re-uploadé l'archive sans gtk2 dans les options de compilation.
Image
Répondre