ASP.NET pomanjševanje slik (VB)

Pozdravljeni,

za svoj projekt potrebujem skript, ki učinkovito pomanjša sliko on the fly (stream).

Pravzaprav naj bi se kreirale 3 slikice:
- majhna (250 x 200)
- srednja (640 x 480)
- velika (recimo 1900 x 860)

Kvaliteta, ki jo dobim je porazna.
Res je da izdela slike po obeh dimenzijah, mogoče bi pomagalo, če bi uporabil le višino slike!?

Uporabil sem tudi vse metode, ki naj bi izboljšale kvaliteto, pa brez efekta.

Vesel bom nasveta, ali pa kakšnega uporabnega linka.
Preferiram VB, če pa ne gre drugače pa je lahko tudi C, mora pa biti v asp.net... različne aplikacije niso opcija...

Vnaprej hvala za pomoč:)

6 odgovorov

Si mogoče probal s knjižnjico Image processor , ki jo Scott Hanselman priporoča na svojem blogu?

Ne nisem, če ne bo drugače bom seveda poskusil tudi s tem.

Zanima me predvsem ali ASP.NET res kreira tako slabo kvaliteto slik, da ni možno tega zadovoljivo rešiti znotraj njega!?

krnek:
Ne nisem, če ne bo drugače bom seveda poskusil tudi s tem.

Zanima me predvsem ali ASP.NET res kreira tako slabo kvaliteto slik, da ni možno tega zadovoljivo rešiti znotraj njega!?

Si mogoče lahko bolj konkreten? ASP.NET sam ne naredi nič. Na kakšen način pa si poskušal implementirati resize, mogoče je možnost izboljšave tvoje implementacije?

Obstaja neka caka, da dela boljše kvalitete. Samo je že kake 3,4 leta od tega, ko sem to rihtal, tako da ti na žalost ne morem povedat, kaj točno sem takrat naredil.

Pripopaj kodo, mogoče se spomnem.

Pri samem pomanjševanju oz. kreiranju slik različnih dimenzij je pomembno upoštevati "aspect ratio" - lahko prebereš več tukaj --> klik . Če imaš pravokotno sliko ne vem recimo 100 * 50 bo seveda slika popačena če jo boš hotel narediti v drugačnem razmerju recimo 100 * 80 in nima sam ASP.NET (bolj pravilno .NET framework) nič pri tem.

Imam rešitev v c#.. Če ti odgovarja se lahko oglasiš na privat ;)

11

Moj skritp je podoben temu: http://offbeatmammal.com/upload_resize.aspx

Poskusil sem še drugo, kar se najde na internetu, pa tudi:

@pavarti - mogoče si mislil tole:
System.Drawing.Drawing2D.SmoothingMode.HighQuality
System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic

pa nič.

Mogoče je res problem v tem, ker poskušam hkrati obe dimenziji in bi bilo bolje verjetno le imeti fiksno višino slike, ne pa tudi dolžine.

@wingback - glede na moje minuse, ti žal nslednjih 100 let sam ne bom mogel poslati sporočila. Prosim, če mi ga lahko ti na: tekosdoo (at) siol.net.

1