begin process at 2010 03 20 22:42:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Multimédia

 > 

Image & Vidéo

 > 

Diminution de couleurs sur images crash


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Diminution de couleurs sur images crash

jeudi 2 avril 2009 à 18:06:54 | Diminution de couleurs sur images crash

kakenette

Bonjour voila j'ai récupéré sur ce site un module pour traiter les images très intéressant :

http://www.vbfrance.com/article.aspx?ID=4923

Et il y a une fonction toute particulière qui a retenue mon attention.

------------------------------------------------------------------------------------
Public Function MoinsDeCouleurs(ByVal Pic As Long, ByVal Nb_Bits As Long) As Long
  GetObject Pic, Len(PicInfo), PicInfo '<--Chargemant des informations sur l'immage dans Picinfo(TRES IMPORTANT !!!!!!!!)
  hdcnew = CreateCompatibleDC(0&) 'Creation d'un nouveau HDC virtuel pour pouvoir y adapter le filtre
 
 '********Chargement en memoire des informations sur l'immage******
 With DIBInfo.bmiHeader
    .biSize = 40
    .biWidth = PicInfo.bmWidth
    .biHeight = -PicInfo.bmHeight     'Les bmp sont stockes a l'envers, on les remet a l'endroit
    .biPlanes = 1
    .biBitCount = Nb_Bits
    .biCompression = BI_RGB
    BytesPerScanLine = ((((.biWidth * .biBitCount) + 31) \ 32) * 4) 'Lignes
    PadBytesPerScanLine = _
       BytesPerScanLine - (((.biWidth * .biBitCount) + 7) \ 8)
    .biSizeImage = BytesPerScanLine * Abs(.biHeight)
  End With
  '            1-R,2-G,3-B   Xmax            YMax
  ReDim Bit_Map(1 To 4, 1 To PicInfo.bmWidth, 1 To PicInfo.bmHeight) As Byte
  'Cargement en memoire de l'immage telle qu'elle existe maintenant et on la copie
  'dans le nouveau HDC
  GetDIBits hdcnew, Pic, 0, PicInfo.bmHeight, Bit_Map(1, 1, 1), DIBInfo, DIB_RGB_COLORS
  SetDIBits hdcnew, Pic, 0, PicInfo.bmHeight, Bit_Map(1, 1, 1), DIBInfo, DIB_RGB_COLORS
End Function
------------------------------------------------------------------------------------

Cette fonction fonctionne très bien quand Nb_Bits est égale à 1 ou 4 mais quand je met à 8, la fonction fonctionne mais le programme crash des que je ferme la fenêtre ou sur certains actions. Alors que j'aurai vraiment bien voulu pouvoire utiliser cette fonction à 8 sans les crash qui se suivent... vous avez une idée pourquoi à 8 sa crash ?

1 = Noir et Blanc
4 = 16 couleurs
8 = 256 Couleurs ( mais crash :( )


kakenette


Cette discussion est classée dans : fonction, pic, crash, picinfo, bmheight


Répondre à ce message

Sujets en rapport avec ce message

Chemin court vers un fichier [ par novik ] Recherche une API ou une fonction mepermettant de traduire un chemin 32 bits en chemin 16 bits Exemple :C:\Program Files ==> C:\Progra~1 car votre cod Récupérer le répertoire windows automatiquement [ par Snake ] Bonjour à tousDans un programme VB4, j'utilise la fonction GetWindowsDirectory qui me renvoie le répertoire de windows.Malheureusement, une fois passé la fonction Random [ par etude euria ] Bonjour,Nous sommes des étudiants dans un institut d'actuariat.Nous avons besoin de la fonction Random pour un bureau d'études.Il faut insérer des par SIMULER UN CLICK DE SOURIS [ par JFK ] Cherche fonction qui simule un click de la souris de la part de l'utilisateur , grand besoin !!! un peut comme la fonction SendKeys(blabla) mais pour fonction Sub [ par coucou ] J'ai un travail dans lequel je dois calculer le taux de change (je rentre le montant et une devise et je la veux dans une autre devise.Et mon résultat Calcul de formules mathématiques variées [ par Didier DEPOISIER ] Langage : VB6 Edition professionnelleExiste il dans VB6 (en standard), une fonction, un outil ou un controle qui permettrait de calculer de facon simp Passage d'un tableau de byte à une fonction encapsulé dans un ACtiveX Dll [ par novik ] J'aimerai pouvoir passer un tableau de Byte a ma fonction (Activex Dll)lors de l'appel j'ai une erreur Type Mismatch.Or lorsque j'appelle cette foncti urgent: utilisation d'une fonction d'une dll ecrite en C dans un programme VB [ par gep ] je suis en train de développeer un application pour permettre une installation facilitée de fichier palm pilote a partir du webpour obtenir les inform Comparaison de dates [ par TheDude ] Je cherche à comparer deux dates au moyen de la fonction DateDiff intégréesous access et tester le résultat dans un If dont voici un exemple : If nombre de samedi et dimanche entre deux dates [ par TheDude ] Je suis à la recherche d'une fonction qui permettrait de compter le nombresamedi plus le nombre de dimanche entre deux dates données.Je ne sais pas s'


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,342 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales