Librairie d'icônes

Sujets variés concernant le développement en PureBasic
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Librairie d'icônes

Message par Anonyme2 »

Je travaille sur un librairie de gestion d'icônes depuis plus de six mois (Microsoft et pas linux).

J'ai écrit des fonctions de conversion entre les formats ico, icl, dll, exe, cpl et ocx (fichier 16 et 32 bits).
La librairie supporte le format XP et le format Vista compressé.

J'aimerais savoir ce que vous voudriez comme fonctions, sachant que j'ai déjà écrit les fonctions :

- de comptage des icônes/groupes d'icônes des différents types
- d'énumération pour les fichiers 16 bits, fonctions pratiquement identiques à celles de Microsoft pour les 32 bits
- de tests de type de fichier (format NE/PE/ICO)
- d'extraction automatique de tous les icônes y compris Vista (que l'on peut décompresser aussi en fichier).

Je dois dire aussi que les règles des fichiers icl étant pratiquement absentes, il existe des fichiers icl que certains éditeurs n'ouvrent pas, voire pas correctement, certains éditeurs plantent lorsque les noms de groupes sont trop longs; tout ça m'a amené à fixer mes règles de conversions pour que cela soit fonctionnel avec beaucoup d'éditeurs.

Voilà, vous pouvez me soumettre vos idées :D

A+
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ce qui manque a purebasic c'est un
createimage_ico() !!

avec stardrawing qui respecte la Transparence :D

etc.... ;)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

le plus utile, pour moi, c'est une fonction qui permet d'extraire une icône de la taille de son choix d'un fichier *.ico *.exe ou *.dll

en gros de dire je veux l'icone de taille 16*16 du fichier Machin.ico
ca répcupère le format d'icone XP ou inférieur en fonction de l'os
ou alors de pouvoir préciser tout, taille et format

16*16 256 couleurs
32*32 XP
48*48 16 couleurs

etc ...

moi, c'est ça que j'utilise
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Dobro a écrit :Ce qui manque a purebasic c'est un
createimage_ico() !!

avec stardrawing qui respecte la Transparence :D

etc.... ;)
Tu préciseras ta pensée car il y a transparence te transparence.

Avant XP, un pixel était transparent ou non (le masque de l'icône défini cette transparence) et depuis XP, ça existe encore mais il y a la couche alpha qui défini une transparence partielle, en fait c'est plus un effet de mélange.

je pense que tu parles de la transparence due au masque, je vais regarder ce que je peux faire.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Le Soldat Inconnu a écrit :le plus utile, pour moi, c'est une fonction qui permet d'extraire une icône de la taille de son choix d'un fichier *.ico *.exe ou *.dll

en gros de dire je veux l'icone de taille 16*16 du fichier Machin.ico
ca répcupère le format d'icone XP ou inférieur en fonction de l'os
ou alors de pouvoir préciser tout, taille et format

16*16 256 couleurs
32*32 XP
48*48 16 couleurs

etc ...

moi, c'est ça que j'utilise
Ca c'est pas trop dur sauf que de nombreux fichiers comportent des icônes de même nature comme 16x16 256 couleurs etc.
Le problème est de différencier.

Les format exe, dll, icl, ocx, cpl ont des identifiants numérique et/ou alphanumériques pour les groupes et les icônes (les icônes sont classés par groupe), les icl peuvent en plus avoir (mais ce n'est pas obligatoire) des noms pour les groupes.
Le format ico n'a rien de tout ça. Il existe un standard ico Microsoft mais il existe aussi de nombreux fichiers ico qui ne sont pas à ce standard et qui sont parfaitement bon au point de vue du format.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

En priorité, pour le codeur, ce qui l'intéresse, c'est la taille de l'image.
J'aime bien tel icône, j'ai besoin pour mon bouton de l'icone en 24*24 (format chiant impossible a choper par l'api windows) ou de mon icône perso qui fait 128*24
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Denis a écrit :
Dobro a écrit :Ce qui manque a purebasic c'est un
createimage_ico() !!

avec stardrawing qui respecte la Transparence :D

etc.... ;)
Tu préciseras ta pensée car il y a transparence te transparence.
la doc dit :
Resultat = CreateImage(#Image, Largeur, Hauteur [, Profondeur])
Description

Crée une nouvelle image vide qui peut être utilisée par les fonctions 2DDrawing comme surface de dessin. Si 'Resultat' = 0, la fonction a échoué.
en fait c'est faux !!
ça cree pas une image vide !!

ça créé une image noir !!

dans certain soft de dessin, il est possible de creer une image nouvelle
qui n'as pas de fond !! elle sont d'ailleurs souvent représentés par des petit carreaux, pour indiqué qu'elles sont transparente des leur création !!

ensuite tous se qu'on dessine dessus , permet de faire le dessin :)

du coup si tu colle une icone ou un PNG avec transparence,dans un "createimage" via stardrawing_stopdrawing

ben la couleur "transparente" est transformé en noir !! :)

c'est pourquoi cette question s'adresse surement plus a fred qu'a toi, mais bon :lol:

j'ai du mal avec l'anglais :lol:
Répondre