webForumDet fria alternativet

Ladda vectorgrafik till bild?

.NET

7 svar · 445 visningar · startad av mozilla

Medlem sedan juli 20011 084 inlägg
Frågan#1

Jag har ett lite dilemma, jag skulle vilja kunna skapa jpeg-bilder on-the-fly på min webbplats. Problemet är att jag vill ladda in olika vectorbilder(swf, eps, pdf eller liknande) för att sedan ändra färg på objektet(från svart till valfri färg). I varje vectorbild ligger alltså ett objekt.

Är det möjligt, någon som vet var man kan hitta angående detta?

Medlem sedan dec. 19996 522 inlägg
#2

EPS stöds inte av NET-framework, finns 3:e-parts dock. Jag tror du får problem pg. av det är så många olika format du pratar om, skulle det enbart vara tex. svg så skulle det inte vara en så svår match tror jag.

Medlem sedan juli 20011 084 inlägg
#3

SVF kanske skulle fungera, min applikation behöver inte stödja alla filformaten utan kravet är att jag ska kunna ladda en vectorbild. Varje fil innehåller endast ett objekt i en färg.

Jag vill som sagt vad sedan kunna ändra färgen på objektet från t.ex. svart till gult.

Jag gjorde lite research på msdn och hittade EMF(Enhanced Metafile). Och jag såg att man i Illustrator kunde spara filer i EMF formatet. Skulle detta kunna vara en lösning?

Någon som har gjort något liknande eller vet vart man kan läsa vidare om detta?

Medlem sedan dec. 20003 887 inlägg
#4

Om du kollar igenom http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDrawingImaging.asp så bör du hitta hur du läser in en .emf och spottar ut den som jpeg. Om inte annat så är det nog en bra start. ;)

Det kanske var där du kollade iofs. (System.Drawing.Imaging.ImageFormat.Emf)

Medlem sedan juli 20011 084 inlägg
#5

MSDN har lite klent med exempel bara. :OO Om någon vet någon annan sida får ni gärna tipsa om den.

Ett problem som jag stötte på när jag infogade emf-filerna var att de blev väldigt taggiga och reagerade inte på bildens SmoothingMode.AntiAlias. Finns det någon annan metod att få emf-objekten att vara mjuka och fina?

Och till mitt sista problem, att ändra färg på objekten, jag hittade ColorMap som verkar kunna byta ut färger på bilder. Är det rätt väg att gå om man vill ändra objektets enda färg till en annan färg?

Medlem sedan nov. 20041 189 inlägg
#6

Jag måste bara fråga en sak, från rent filosofiska grunder - till mozilla då... Hade det inte gått att på något sätt loopa igenom alla skapade pixlar och byta ut varje färg till en annan via den hexadecimala eller rgb-koden?

Medlem sedan dec. 19996 522 inlägg
#7

vetkorbaserade bilder är inte uppbyggda av pixlar på det sättet som en bitmapp är, utan byggs upp av vektorer, där en vektor kan vara tex. en linje eller kant på en polygon. Mattematiska regler helt enkelt, för bilden ska kunna förminskas och förstoras utan att förlora i kvalitet.

Medlem sedan juli 20011 084 inlägg
#8

mm, som erka skriver är det just vectorbilder, och att göra en egen funktion som letar efter pixlar känns inte som den bästa lösningen. Framförallt inte om man måste ta med antialiasering i beräkningen. Samt att man kanske lägger in flera objekt med samma färg...

Det största problemet just nu är nog dock just antialiseringen. Alla vectorbilder som jag infogar blir väldigt taggiga. En alternativ lösning som jag utforskat är att skapa en stor bild som jag sedan ändrar storleken på med InterpolationMode.HighQualityBicubic. Men den känns inte helt rätt?

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)