Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Clear d'une image [ Multimédia / Image et Vidéo ] (olibara)

samedi 1 novembre 2008 à 19:10:44 | Clear d'une image

olibara

Bonjour

J'utilise une image asser grande (2048 x 1024) avec fond transparent (pas défini)

Je dois parfois effacer cette image avant de la redessiner

Actuellement, je fais un dispose et ensuite un new Bitmap

Mais je me demande si c'est plus performant qu'un clear

Mais dans le cas ou un clear serait plus performant, comment remettre ce fond transparent ?

Merci de votre aide








samedi 1 novembre 2008 à 19:36:01 | Re : Clear d'une image

olibara

Bonjour

En chipotant mes idées je viens trouver la reponse a la deuxieme question

Graphics.Clear(Color.fromArgb(0,0,0,0));

Mais je ne sais toujours pas quelle est la meilleure performance (ou le plus propre)

Clear()
ou Dispose et recreate  ?


jeudi 27 novembre 2008 à 18:23:29 | Re : Clear d'une image

ctx_man

Bonjour,
A vrai dire j'en sais trop rien, quelle méthode est plus rapide, je dirai le Clear parce que je viens du monde du C++ et pour moi Clear ca veux dire repasser uniquement tous les octets de la plage de donnée de l'image à une valeur déterminé, alors qu'un Recreate ca signifie désallocation, réallocation, réécriture de l'entete et enfin passer tous les octets de la plage de donnée à la valeur par défaut (ben oui, la mémoire n'est pas à cette valeur par défaut quand on l'alloue, faut le faire explicitement)
Mais la on parle du C#, donc entre le Garbage et les histoire de cache, je sais pas trop lequel est le plus rapide. Cependant tu peux tester.
long t = DateTime.Now.Ticks;
for(int i = 0; i < 1000000; i ++)
{
Graphics.Clear(Color.fromArgb(0,0,0,0));
}
t = DateTime.Now.Ticks; // Faire la méthode Clear 1 000 000 de fois à pris (t*100) nano secondes
t = DateTime.Now.Ticks; // On reset le chrono pour la seconde méthode
Graphics g;
Image i;
for(int i = 0; i < 1000000; i ++)
{
i = new Bitmap(2048, 1024);
g = Graphics.FromImage(i);
g.Dispose();
g = null;
i.Dispose();
i = null;
}
t = DateTime.Now.Ticks; // Faire la méthode Recreate 1 000 000 à pris (t*100) nano secondes

Et voile, en faisant chacune des méthodes 1 000 000 de fois, tu obtient une assez bonne idée du temps moyen que ca prend pour chacune des méthodes et tu as la réponse à ta question.

Le travail c'est la santé, ne rien faire c'est la préserver !!!

jeudi 27 novembre 2008 à 18:31:02 | Re : Clear d'une image

olibara

Merci ctx_man

Oui je fais un clear ca me semble de toute facon plus sain et logique !



Cette discussion est classé dans : image, fond, transparent, clear, performant


Répondre à ce message

Sujets en rapport avec ce message

label transparent [ par Arkhorail ] Je sais, ça peut paraitre simple mais en fait ça ne l'est pas ...On pourrait croire qu'il suffit de mettre Transparent, mais ca ne marche pas. Je veux [Classes] Attributs [ par stailer ] Bonjour tout le monde, dans une classe on peut définir des attributs très simplement comme ceci : [Description("Fond d'écran")] private Image fo listbox et image de fond [C#] [ par emachede ] bonjour je voudrais simplement placer une image jpg dans le fond de ma listbox (vu que j'arrive pas à la rendre transparente, je ruse) j'ai essayé en Treeview C#(mettre une image en fond) [ par trioy ] Hello,Petite question, après avoir cherché, sans résultat... y'a t il qelqu'un qui sait comment on fait pour mettre une image en arrière plan dans un picture box fond transparent [ par catamenia ] bonjours,Je voudrais faire glisser sur un control un picturebox avec un fond transparent pour que l'on voit que la forme de l'image du pictureboxquel DrawEllipse avec fond transparent [ par babou6a ] Bonjour,j'essaye de refaire une sorte de paint. Mon programme marche bien mais avec quelques souci graphique : si je dessine un carré plein sur la zon Dimension de mon image de fond de ma frame [ par oxboz ] Bonjour, Voila j'ai une image à mettre en image de fond de toutes mes frames. Probleme: Celles ci sont de dimensions différentes. Comment faire pour SetPixel transparent [ par amlb ] Bonjour,mon problème est le suivant: je traite une image Bitmap et je veux pouvoir transformer tous les pixels blanc de cette image en pixel transpare Rendre fond listview transparent [ par juanfs ] J'arrive pas à rendre le fond de mon listview transparent quelqu'un pourrait-il m'aider?Merci d'avance image avec fond transparent [ par thebigboss ] Salut,voila, je suis en train de faire un jeu comportant un damier. Mes pieces (balanche ou noires) ont été dessinées sur un carré rouge.Maintenant j'


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.