Accueil > Forum > > > > Dithering
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(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
byte* newPixel = (byte*)(void*)bmpData.Scan0; int offset = width % 4; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { //on récupére le niveau de gris sur 255 byte pixel = (byte)(.3 * 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
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
Concaténation d'Image de grandes tailles. [ par kbumbazz ]
Bonsoir a tous,Voila, j'aurai besoin de faire un bout de code pour concaténer des images qui sont morcelées en une seule.Un peu come si on avais un gr
Comment convertir un String en Color [ par bolo ]
Bonjourj'aimerai dessiner une image , j'ai un tableau de type sting contenant tous les pixel de l'image .par exemple le premier pixel est "3230036"Mai
Dessiner un rond plein [ par fcolo ]
Bonjour,Je souhaiterai créer un live une icone représantant un rond plein.J'arrive à créer un rond, mais je ne sasi pas comment remplir l'intérieur.Je
tableau de byte [ par nuns ]
Bonjour je voudrais savoir pour quoi sa ne marche quand je fait sa , j'ai tableau dinamique, avec des lettre dedand, mais pas toute les case sont
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|