Gå til innhold

Forminsket bilder i bra kvalitet


Anbefalte innlegg

Skrevet

Jeg ønsker å kunne legge inn små bilder (thumbs ??) på nettsiden min, men at bildet skal vises i bra kvalitet ( ikke kornete) uansett hvilken størrelse som jeg henter bildet inn fra.

 

Det jeg gjør nå er å hente bilder fra en link og viser det på nettsiden. Bildet jeg viser har en fast bredde og høyde (liten størrelse), men bildet blir da kun forminsket og blir ikke så veldig bra kvalitet. Vet at det finnes en måte å få disse "forminskete" bildene til å se bra ut også, bare klarer ikke å finne ut helt hvordan.

 

Noe som kan hjelpe ?

 

Si et eksempel der jeg skal hente inn dette bildet fra denne linken. Bildet skal komme forminsket og i bra kvalitet på min nettside:

http://www.coca-cola-shop.ch/public/verkau...c_0.33_dose.jpg

Videoannonse
Annonse
Skrevet

Antar du må konvertere den "on-the-fly" på et vis? Vet at Bitmap objektet skal ha en metode for å hente en thumbnail picture av det bildet som er lastet inn i Bitmap objektet.

 

Om du kan levere denne til klienten så vil jeg kanskje tro du vil få bedre kvalitet.

Skrevet

Dette er mulig å gjøre via et C#.NET script ?

 

Kom kanskje ikke så godt fram at jeg ønsker C#.NET script som forminsker og behandler bildet slik at det fortsatt holder bra kvalitet. :whistle:

 

I tilfelle er det noen som har referanser til dette ?

Skrevet (endret)

System.Drawing.Bitmap.GetThumbnailImage kanskje?

  public bool ThumbCallBack()
 {
 	return false;
 }
 public System.Drawing.Bitmap CreateThumbNail(System.Drawing.Bitmap src)
 {
 	System.Drawing.Bitmap.GetThumbnailImageAbort callback = new System.Drawing.Bitmap.GetThumbnailImageAbort(ThumbCallBack);
 	return src.GetThumbnailImage(128, 128, callback, IntPtr.Zero);
 }

Endret av GeirGrusom
Skrevet

Bruker du .Net 2.0 kan du lage en ny delegate inne i funksjonen og gjøre det litt enklere:


Image i = Image.FromFile( "bilde.jpg" );
Image thumbnail = i.GetThumbnailImage( 50, 50, delegate{return false;}, IntPtr.Zero );

Skrevet

Ok! Ingen av disse kan jeg vel ikke bruke, da jeg ikke lagrer bildene lokalt, men henter de fra en link og rett inn i designet ?

 

Bildene blir aldri lagret lokalt. De kommer rett inn på nettsiden fra en link. Mener det allikevel må være mulig å forminske bildet med bra kvalitet.

Skrevet (endret)

Du lager en egen ASP.NET side hvis eneste funksjon er å levere thumbnail bilder av bilder du allerede har. Det er denne som gjør arbeidet for deg.

 

Da kan du kalle ASP.NET siden med f.eks

 

ThumbnailPicture.aspx?picture=/pics/bildet.jpg&width=100&height=100

 

 

Inne i ThumbnailPicture.aspx.cs klassen bruker du disse parametrene til å lage et thumbnail bilde og returner dette bilde med rett mimetype tilbake istedet for en vanlig ASP.NET side.

 

ASP.NET sider trenger ikke nødvendigvis være HTML kode. De kan like godt være retur av et bilde, dokument og annet.

 

I hoved ASP.NET siden din vil du peke til bildet på vanlig måte:

<img src="ThumbnailPicture.aspx?picture=/pics/bildet.jpg&width=100&height=100">

Endret av wolf5
Skrevet

Geirgrusom: Nei, lagrer ikke bildene på serveren. Henter de kun som en link fra en annen side. Bilder som jeg lagrer er jo ikke noe problem å få i bra kvalitet.

 

Wolf5: Men er jeg ikke da avhengi å lagre bildene på min server for denne andre siden der hvor jeg lager thumbs ? :hmm:

Skrevet (endret)

Ingenting som hindrer deg å laste ned i minnet fra den andre servern. Lage thumbnail og vise den.

 

WebClient for henting og Bitmap.GetThumbnailPicture for å konvertere og returnere direkte til klient.

 

Ingen lagring.

 

Du lager rett og slett en slags thumbnail proxy server som krymper bilder fra andre servere.

 

feks URL:

ThumbnailPicture.aspx?picture=http://my.url.com/images/thepicture.jpg&width=100&height=100

 

eller noe liknende.

Endret av wolf5
  • 2 uker senere...
Skrevet

Hvordan blir en slik behandling av bilder Wolf5, når man skal behandle flere tusen bilder ? Vil behandlingstiden bli enormt dårlig da ? Snakker vi om minutter ?

Skrevet (endret)

Tviler på at flaskehalsen blir på maskinen du bruker til å krympe bildene. Om det blir en flaskehals så blir det båndbredden.

Du laster tross alt ned de større bildene til minne for å konvertere dem on-the-fly til en thumbnail størrelse videre til dine webklienter.

Endret av wolf5

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...