new Bitmap(width, height) error

Tags:    c#

<< < 12 > >>
Hej, jeg har et problem med den følgende kode:
Fold kodeboks ind/udCSharp kode 

Efter at "Bitmap target = new Bitmap(width, height, PixelFormat.Format32bppPArgb);" er blevet brugt ca. 500 - 551 gange, får jeg en meget mærkelig fejl.

Fold kodeboks ind/udKode 


altså: "Parameteren er ugyldig", mine spørgsmål er så, hvordan kan den være det, og hvordan fixer jeg det.



17 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Hvordan justerer man sproget på .NET-runtime?



I første omgang skal du i hvert fald have installeret en sprogpakke (.NET language pack) med det ønskede sprog - og så skal dit windows vist også være sat til dansk før det bliver brugt (men har jeg ikke helt styr på). Til .NET 2.0 kan du hente en sprogpakke på http://www.microsoft.com/downloads/da-dk/details.aspx?familyid=39c8b63b-f64b-4b68-a774-b64ed0c32ae7&displaylang=da



Tusind tak. Mit Windows er allerede på dansk :)



Din oprindelig fejl med at oprette flere bitmaps kommer, fordi du bruger for meget memory. Du skrev at den begyndte at fejle omkring billede 500 - bare for at gemme pixelsne for 500 billeder på 864x486, skal du bruge omkring 800MB hukommelse. Så problemet ligger i du bruger for meget hukommelse, hvis du ikke rydder billederne op efter dig (hvilket er det du gør med Dispose()).

Er der nogen grund til at du gemmer alle billederne i et array til at starte med? Hvis du f.eks. kunne gemme billederne med det samme du har lavet dem, så ville du ikke få et problem med hukommelsen.



det har jeg prøvet...
Så kommer billederne i en underlig hastighed, 0.10, 2.3, osv...

meningen med movie.Add, var at det skulle tage lige lang tid, for hvert billede.
men måske...
100 billedere, new thread Save.

prøver lige...

EDIT: virker ikke, siden jeg ikke må dispose så...



Indlæg senest redigeret d. 26.09.2011 19:17 af Bruger #16191
ca. hver 50-100 millisekund

forslår du jeg bruger:
Fold kodeboks ind/udCSharp kode 

på hvert eneste billede?



Indlæg senest redigeret d. 26.09.2011 21:35 af Bruger #16191
Ja, prøv det :)



hm, har sådan en double effect...
det virker fint, men altså...

min function btnStart_Click() starter denne Task.
Men, hvis tasken kører, og jeg starter btnStart_Click() igen, så kører Taskne, double så hurtigt :/
så efter jeg har klikket btnStart_Click() 3 gange, gemmer den ret meget, ret hurtigt, og CPU forbruget kommer op på 100% :/

Kan jeg lave en slags kø inde i en class, hvor køen bliver fuldført en efter en hele tiden?
Og så bare tilføje til køen inde i btnStart_Click() ?



<< < 12 > >>
t