Toon posts:

[ASP.NET] thumbnail, slechte kwaliteit *

Pagina: 1
Acties:

Verwijderd

Topicstarter
C#:
1
2
3
4
5
6
7
8
9
int MaxWidthOrHeight = 350;

if (y > MaxWidthOrHeight) 
{ 
    y = MaxWidthOrHeight; 
    x = (int)Math.Round(MaxWidthOrHeight * r); 
}
System.Drawing.Image.GetThumbnailImageAbort clb = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
System.Drawing.Image normal = img.GetThumbnailImage(x, y, clb, System.IntPtr.Zero);


Met onderstaande code maak ik een thumbnail aan van een originele foto.
De foto heeft oorspronkelijk een groote van 1600x1200 met een resolutie van 180PDI

deze wordt verklein naar 467x350 met een resolutie van 72 DPI

de kwaliteit is echter zeer belabberd, als ik dit zelfde doe in photoshop ziet dit er veel beter uit (zelfde instellingen), iemand een idee hoe de kwaliteit gewoon normaal wordt?

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
If the Image object contains an embedded thumbnail image, then this method retrieves the embedded thumbnail and scales it to the requested size. If the Image object does not contain an embedded thumbnail image, this method creates a thumbnail image by scaling the main image.

GetThumbnailImage works well when the requested thumbnail image has a size of about 120 x 120. If you request a large thumbnail image (say 300 x 300) from an Image object that has an embedded thumbnail, there could be a noticeable loss of quality in the thumbnail image. It might be better to scale the main image (instead of scaling the embedded thumbnail) by calling DrawImage.
bron: Microsoft

Zou dit je probleem kunnen zijn?

Verwijderd

Topicstarter
Nou volgens mij bedoelen ze hiermee als je een afbeelding van 100 bij 100 naar 50 bij 40 scaled en dat doe ik dus niet, ik bereken zelf de hoogte en breedte en daarmee krijg je geen kwaliteitsverlies, normaal.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:33
Je kan ook een nieuw Image object maken dat die bepaalde hoogte / breedte heeft:

code:
1
Bitmap b = new Bitmap (img, new Size (aWidth, aHeight))

https://fgheysels.github.io/


Verwijderd

Topicstarter
Dat zou ook kunnen, echter ik moet het als een binarystream opslaan in mij Sql server database en dat krijg ik niet voor elkaar met een bitmap en wel met een image.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Verwijderd schreef op 03 juni 2004 @ 13:30:
Nou volgens mij bedoelen ze hiermee als je een afbeelding van 100 bij 100 naar 50 bij 40 scaled en dat doe ik dus niet, ik bereken zelf de hoogte en breedte en daarmee krijg je geen kwaliteitsverlies, normaal.
Nee ze zeggen dat een image met een embedded thumbnail de embedded thumbnail wordt geresized van klein naar groot. Dat levert dus altijd slechtere kwaliteit op dan wanneer je de Image zelf resized.

Maar goed, ik ben een slecht begrijpend lezer (lees: lui), dus ik zal je code wel verkeerd begrijpen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:33
Verwijderd schreef op 03 juni 2004 @ 13:42:
Dat zou ook kunnen, echter ik moet het als een binarystream opslaan in mij Sql server database en dat krijg ik niet voor elkaar met een bitmap en wel met een image.
:?
Een Bitmap is een Image. Image is een abstract class, en Bitmap is een inherited class van Image.

Dat wil dus zeggen dat je een Bitmap op dezelfde manier in je SQL Server kunt serializen.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:33
Hoe serialize je trouwens naar SQL Server ?
Je zult ws de achterliggende Stream naar een byte array oid converten ?

https://fgheysels.github.io/

Pagina: 1