[C#] Afbeeldingen worden onscherp verschaalt

Pagina: 1
Acties:
  • 200 views

Acties:
  • 0 Henk 'm!

  • topaj
  • Registratie: April 2008
  • Laatst online: 12:58
Beste mensen,

ik heb een probleempje.
Ik heb een stuk code die afbeeldingen verschaalt en vervolgens opslaat, maar de kwaliteit gaat eraan.

Ik gebruik codecs en paramaters, maar het mag niet baten ;)

Hier mijn code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
            System.Drawing.Imaging.EncoderParameters Params = new System.Drawing.Imaging.EncoderParameters(1);
            Params.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);


            ImageCodecInfo ici = null;
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
            foreach (ImageCodecInfo codec in codecs)
            {
                if (codec.MimeType == "image/png")
                {
                    ici = codec;
                }
            }

            Image image = System.Drawing.Image.FromFile(filename);

            double factor, factor2, height, width, getal;

            width = image.Width;
            height = image.Height;
            getal = 65;

            if (image.Height > image.Width)
            {
                factor = getal / height;
                factor2 = 360.0 / height;
            }
            else
            {
                factor = getal / width;
                factor2 = 320.0 / width;
            }

            int heightNieuw_klein = Convert.ToInt32(height * factor);
            int widthNieuw_klein = Convert.ToInt32(width * factor);

            int heightNieuw_groot = Convert.ToInt32(height * factor2);
            int widthNieuw_groot = Convert.ToInt32(width * factor2);

            image.GetThumbnailImage(widthNieuw_groot, heightNieuw_groot, null, IntPtr.Zero).Save(bestandsnaam + ".png", ici, Params);


Alvast dank

[ Voor 1% gewijzigd door topaj op 02-02-2010 10:08 . Reden: Kleurcoding ]

Groeten


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
Je schaalt ze groter... tenzij jij magisch pixels erbij kan fabriceren veranderd er niks aan de kwaliteit van de afbeelding. Probeer in een simpel foto programma datzelfde plaatje maar eens groter te schalen. Dan zul je hetzelfde resultaat krijgen (tenzij het programma er iets mee uithaalt om de kwaliteit te verbeteren).

Zie het als een groot rubber doek met een print erop. Als je deze groter uitrekt dan word de print erop ook vaag. Hetzelfde gebeurd hier.

Acties:
  • 0 Henk 'm!

  • topaj
  • Registratie: April 2008
  • Laatst online: 12:58
Dat dacht ik eerst ook, maar de foto blijkt HD, de Chrysanthemum.jpg die in Windows 7 bijgelevert wordt, ziet er zo uit:
Afbeeldingslocatie: http://img200.imageshack.us/img200/1760/grootchrysanthemum.png

Niet echt mooi :S

EDIT : Photoshop doet t stukken beter:
Afbeeldingslocatie: http://img42.imageshack.us/img42/1272/chrysanthemumphotoshop.jpg

[ Voor 26% gewijzigd door topaj op 02-02-2010 10:20 ]

Groeten


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21:27

gorgi_19

Kruimeltjes zijn weer op :9

image.GetThumbnailImage niet gebruiken. Google eens op "High quality thumbnails .net" :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:31

Creepy

Tactical Espionage Splatterer

Photoshop is een pakket dat best wel wat euro's kost. Daarin zitten slimme algoritmes voor het o.a. schalen van afbeeldingen. De standaard functionaliteit van GetThumbNailImage heeft dat niet, en gebruikt de eventuele bestaande thumbnail om te schalen. Dat staat zelfs notabene in de manual van die methode! http://msdn.microsoft.com...ge.getthumbnailimage.aspx
The GetThumbnailImage method works well when the requested thumbnail image has a size of about 120 x 120 pixels. If you request a large thumbnail image (for example, 300 x 300) from an Image 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 the DrawImage method.
Voortaan aub zelf eerst even verder kijken ;)

[ Voor 3% gewijzigd door Creepy op 02-02-2010 10:24 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.