Contrôle pour editer images bitmap (1, 4, 8 et 24 bits )

Soyez le premier à donner votre avis sur cette source.

Vue 4 565 fois - Téléchargée 852 fois

Description

Ce petit contrôle permet un accès facile aux images bitmap. Il permet de lire et d'ecrire les pixels de celle-ci, d'en connaitre les dimensions, la definition (monochrome,16 couleurs, 256 couleurs ou 24 bits). Il y a plusieur types d'accès au pixels : En récupérant ou en indiquant directement la couleur avec un type Long ou an accès composante par composante (RVB, uniquement pour les Bmp 24 Bits).

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009

tu ne compresses que la partie données. Il y a des aussi des codes pour indiquer fin de ligne, fin de fichier... Je ne sais pas si j'ai répondu à ta question, pour des scpécifications plus poussées, va faire un petit tour sur google :)

@+ Neria
Messages postés
5
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
11 mars 2008

Et comment tu compresse tes fichier de cette façon?
Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009

Le débat fait rage :)

Juste une petite explication du RLE. Le Run Lenght Encoding est une méthode de compression basique pour les fichiers BMP. Il s'effectue sur les mode 4 et 8 bits.
Le principe est très simple (exemple) :
FF FF FF FF --> 04 FF
Il y a de la doc à peu près partout sur le le net. Personnellement j'avais fait un programme capable de lire et enregistrer tous les formats du BMP, mais je ne l'ai pas fini (il est quand même bien avancé), car c'est un vraie casse tête !!! Donc si tu veut un chti exemple envoie moi un message !!!

@+ Neria
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
102
Et non, et c'est là le plus important : elle est aussi compliquée à utiliser que la tienne, tout en y gagnant beaucoup en rapidité (de l'ordre de 30 fois plus rapide) : il suffit de définir le PictureBox dans lequel tracé, puis d'utiliser GetPixel ou SetPixel (fonctions de la classe, et non les fonctions de l'API Windows) pour définir les couleurs, et enfin, appeler la fonction Refresh pour retracer l'image.

En gros, ca donne cà :

Dim oGestionImage As New CGestionImage

Set oGestionImage .PictureBox = Picture1
Let lCouleur = oGestionImage.GetPixel(0, 0)
Call oGestionImage.SetPixel(0, 0, vbRed)
Call oGestionImage.Refresh

Télécharge ma source, et regarde le programme d'exemple, tu verra vite que l'utilisation de la classe n'est pas plus compliquée que l'utilisation de ton contrôle ! Je n'essaye pas de faire des sources trop compliqués que personne ne comprends, mais bel et bien des sources qui permet à tout le monde de comprendre comment ca marche, et les intégrer facilement dans leurs programmes (mis à part mes 2 programmes complets que sont Horloge Système et ProgOtoP Icon Creator).

La différence entre ta source et la mienne niveau utilisateur : uniquement un appel à la fonction Refresh pour ma classe. Sinon, les opérations sont les même !

DarK Sidious
Messages postés
5
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
11 mars 2008

Je vien juste de lire ton descriptif et je vais te dire la différence entre ton projet et le miens:
Ta classe cherche a gagner du temps sur les traitement d'images. Rien qu'en lisant le descriptif je n'ai pas envie de telecharger le zip pour la simple et bonne raison que l'utilisation m'en parait trop compliquée. Moi je ne suis a la recherche que de la facilité d'utilisation et non a l'extra rapidité de mon code.
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.