begin process at 2012 02 11 04:27:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Graphique

 > 

Dithering


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

Dithering

jeudi 23 mars 2006 à 09:25:44 | Dithering

superismali

Bonjour tout le monde,
j'ai trouvé ce code
public static void Dithering(Bitmap bitmap)
{
    
int width bitmap.Width;
    int 
height bitmap.Height;

    
//le pattern à  appliquer (il était à l'origine destiné à des niveaux de gris de 64)
    
byte[][] pattern = new byte[][]{    new byte[]{0,32,8,40,34,2,10,42},
                            
new byte[]{48,16,56,24,50,18,58,26},
                            
new byte[]{12,44,4,36,14,46,6,38},
                            
new byte[]{60,28,52,20,62,30,54,22},
                            
new byte[]{3,35,11,43,1,33,9,41},
                            
new byte[]{51,19,59,27,49,17,57,25},
                            
new byte[]{15,47,7,39,13,45,5,37},
                            
new byte[]{63,31,55,23,61,29,53,21}};

    unsafe
    
{
        BitmapData bmpData 
bitmap.LockBits(new Rectangle(00, width, height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);

        byte
* newPixel (byte*)(void*)bmpData.Scan0;
        int 
offset width % 4;
           
        for 
(int 0y < heighty++)
        {
            
for (int 0x < widthx++)
            {
                
//on récupére le niveau de gris sur 255
                
byte pixel (byte)(.* newPixel[0] + .59 * newPixel[1] + .11 * newPixel[2]);
                
//on compare le pixel (réduit à 64 niveaux) au pattern (en fonction de sa position
                //par rapport à l'image
                
if ((pixel>>2)>pattern[x&7][y&7])
                    newPixel[
0]=newPixel[1]=newPixel[2]=255;
                else
                    
newPixel[0]=newPixel[1]=newPixel[2]=0;

                
newPixel+=3;    
            
}
            newPixel +
offset;
        
}
        bitmap.UnlockBits(bmpData)
;
    
}
}

à l'adresse: http://www.csharpfr.com/code.aspx?ID=30132
 elle est trés utile pour moi, mais j'arrive pas à la faire fonctionner.
Et j'ai tjrs ce message d'erreur: " Unsafe code may only appear if compiling with /unsafe"
Qui peu m'expliquer comment détourner ce pb.
Merci et bonne prog ;)

Superismali
jeudi 23 mars 2006 à 09:47:41 | Re : Dithering

superismali

Réponse acceptée !
Merci pour le code
j'ai trouvé comment le faire fonctionner

Superismali


Cette discussion est classée dans : int, byte, width, bitmap, newpixel


Répondre à ce message

Sujets en rapport avec ce message

Trouver tous les pixels noire dans une image binaire trés grande [ par issam414 ] Bonjour à tous, je débute dans la programmation en c# et je suis déjà perdu, pourtant ça me parait simple comme question [^^peur] . alors, j'ai une i table des caractères [ par quicest ] bonjour, quelque chose m'échappe ! [code=cs] int a; for ( int l=0; l<32; l++ ) { for ( int c=0; c<16; c++ ) { a=c+(l*16); Label lab=new Label(); Comment redimensionner une image sans agrandir son contenu [ par taupe4 ] Bonjour, je développe présentement une application de traitement d'images (qui commencera par ressembler à Paint) afin de faire un module pour une app transformer une image .bmp en un tableau de byte dans Compact framework [ par dourid9 ] Salut Comment transformer une image d'extension bmp (noir et blanc, niveau de gri, image couleur) en un tableau de byte en C# en Compact framework, p conversion string en int, byte, hexa [ par vinc524 ] C#bonjour, je cherche désespérémment un moyen pour convertir une chaine de caractere string en hexadecimal. En fait je voudrais le code ascii d'un car array et CSharp [ par matgai ] Bonjour,Je débute en C# et je vois déjà les limites du tout-objet par rapport à C++. Voici en particulier où je bute :je veux écrire l'équivalent C++ Conversion d'un int en byte[4] [ par RyoSaeba2 ] 'lut,je m'adresse à cette grande communauté de programmeurs et vous pose une question :Comment convertir un int en un tableau de 4 bytes (c#)?Merci po Bitmap: colorisation de pixels...Help! [ par Zekez ] Bonjour,Voilà, j'ai un petit problème de colorisation d'une Bitmap... Je dois effectuer un remplissage de couleur (comme dans Paint) et je dois colori int to byte[] [ par Sobieski ] Bonjour,Je cherche à envoyer un tableau de bytes, mais j'ai des valeurs en int. J'aimerais savoir comment faire d'un int un tableau de bytes (byte[]). int, short etc.. to byte[] [ par Sobieski ] Salut,Dans le cadre d'envois réseaux en TCP à un truc que je peux pas modifier, je dois envoyer un tableau de byte, avec dedans des ints, shorts, uint


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,014 sec (4)

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