Avatar billede superzapper Nybegynder
03. november 2006 - 22:03 Der er 9 kommentarer og
1 løsning

Hvordan gemmer man gif med transperans?

Hejsa derude.

Skal lige høre om der er nogen der ved hvordan man gemmer et billede som gif med en transperant farve - når jeg gør det bliver den farve jeg har valgt som transperant bare sort?!

Eksempel:

Bitmap bmp = HentBillede();
bmp.MakeTransparent(Color.Black);
bmp.Save("c:\\test.gif", ImageFormat.Gif);
Avatar billede hacked Nybegynder
03. november 2006 - 22:39 #1
Avatar billede hacked Nybegynder
03. november 2006 - 22:41 #2
woops glem det link. :/
Avatar billede hacked Nybegynder
03. november 2006 - 23:00 #3
Nej glem sidste kommentar - det lader til at eksemplet virker. Jeg har testet med nogle farver og afprøvet i IE.

Du kan læse lidt mere her:

Post nr. 5 giver et bud på hvad der kan være galt.

http://groups.google.dk/group/microsoft.public.dotnet.framework.drawing/browse_frm/thread/324b04556ced8bfe/e49bb5da2d6260d9?lnk=st&q=c%23+save+gif+with+transparency&rnum=5&hl=da#e49bb5da2d6260d9

Det er muligt du kan opnå samme resultat ved at angive nogle EncoderParameters.
Avatar billede superzapper Nybegynder
03. november 2006 - 23:34 #4
Ok, det lyder lovende... Sagde du at du havde lavet et eksempel? Hvis du har omskrevet til C# kan jeg så ikke lokke dig til at poste det - det ville være lækkert :-)
Avatar billede superzapper Nybegynder
03. november 2006 - 23:49 #5
Ahh ok, der var et i C# på siden... Kigger lige på det og ser om det er nok..
Avatar billede superzapper Nybegynder
04. november 2006 - 00:04 #6
Ved du hvordan jeg kommer til at sætte /unsafe som compile option - jeg kan ikke finde den i et webprojekt...
Avatar billede superzapper Nybegynder
04. november 2006 - 00:24 #7
Jeg læste desuden et sted at man i .NET 2.0 skulle kunne bruge
bmp.MakeTransparent(bmp.GetPixel(0, 0));

men det virker heller ikke en brik...
Avatar billede hacked Nybegynder
04. november 2006 - 15:38 #8
Tilføj det som et class library til din solution. I class libray properties har du adgang til at specificere /usafe. Derved vil det kun være dit class library der tillader eksekvering af unsafe code. Samtidig er det klart den nemmeste fremgangsmåde.

Har også prøvet, at sætte compiler conditions i web.config, men kunne ikke lige få det til at virke.

"bmp.MakeTransparent(bmp.GetPixel(0, 0));":
Post 5 fra link skriver, at det kan skyldes at .net's default gif encoder kort fortalt encoder forkert. Personlig kender jeg ikke gif specifikationen og .net's gif encoder godt nok til at kunne bekræfte/afkræfte hans påstand. Hvis jeg finder noget der kan få bmp.make..... til at virke, poster jeg det.

Når du anvender transparancy er det kun den farve du specificere der bliver transparent. Der er forskel på om farven er foreksempel lys blå eller mørke blå (#xxxxxx).
Avatar billede hacked Nybegynder
04. november 2006 - 16:09 #9
Ved dit class library slår du unsafe til på følgende måde:

Project -> Properties -> Build -> Kryds Allow Unsafe Code.
Avatar billede superzapper Nybegynder
04. november 2006 - 20:43 #10
Ok, takker for hjælpen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester