Laden...

Bild vergrößern aber nicht Weichzeichen...

Erstellt von jogibear9988 vor 16 Jahren Letzter Beitrag vor 16 Jahren 4.599 Views
J
jogibear9988 Themenstarter:in
641 Beiträge seit 2007
vor 16 Jahren
Bild vergrößern aber nicht Weichzeichen...

Ich möchte unter .Net gerne ein Bild vergrößern, aber dazu einfach nur die Pixel verdoppeln, vervierfachen, usw... Ich möchte nicht das Zwischenpixel berechnet werden, sondern einfach nur größer zeichenen!!!

Ist das möglich???

cSharp Projekte : https://github.com/jogibear9988

S
506 Beiträge seit 2006
vor 16 Jahren

schau dir mal

g.InterpolationMode

vieleicht ist da ja ne einstellung dabei.

Ansonsten selber machen.

J
jogibear9988 Themenstarter:in
641 Beiträge seit 2007
vor 16 Jahren
so....

so gehts
(4 fach vergrößert!)


            for (int xx = 0; xx < bmp.Width; xx++)
            {
                for (int yy = 0; yy < bmp.Height; yy++)
                {
                    Color tt = bmp.GetPixel(xx, yy);
                    ff.SetPixel(xx * 4, yy * 4,tt);
                    ff.SetPixel(xx * 4, yy * 4+1, tt);
                    ff.SetPixel(xx * 4, yy * 4+2, tt);
                    ff.SetPixel(xx * 4, yy * 4+3, tt);

                    ff.SetPixel(xx * 4 + 1, yy * 4 + 0,tt);
                    ff.SetPixel(xx * 4 + 1, yy * 4 + 1, tt);
                    ff.SetPixel(xx * 4 + 1, yy * 4 + 2, tt);
                    ff.SetPixel(xx * 4 + 1, yy * 4 + 3, tt);
                    
                    ff.SetPixel(xx * 4 + 2, yy * 4 + 0,tt);
                    ff.SetPixel(xx * 4 + 2, yy * 4 + 1, tt);
                    ff.SetPixel(xx * 4 + 2, yy * 4 + 2, tt);
                    ff.SetPixel(xx * 4 + 2, yy * 4 + 3, tt);

                    ff.SetPixel(xx * 4 + 3, yy * 4 + 0,tt);
                    ff.SetPixel(xx * 4 + 3, yy * 4 + 1, tt);
                    ff.SetPixel(xx * 4 + 3, yy * 4 + 2, tt);
                    ff.SetPixel(xx * 4 + 3, yy * 4 + 3, tt);
                }
            }

aber glaube mit

gg.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;

siehts genau gleich aus!!!

Danke auf jeden Fall mal.

Und das mit get/set pixel ist arschelahm!

cSharp Projekte : https://github.com/jogibear9988

A
266 Beiträge seit 2007
vor 16 Jahren
Guggst du hier ...

Von all den Sachen, die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen... MfG...

1.361 Beiträge seit 2007
vor 16 Jahren

Warum sollte er die Pixel selber malen, wenn doch das resizen mit

System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor

wunderbar klappt ?

Mehr aufwand und es ist am Ende doch nicht schneller ? 🙂

beste Grüße
zommi

A
266 Beiträge seit 2007
vor 16 Jahren

Und das mit get/set pixel ist arschelahm!

Darum?

Von all den Sachen, die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen... MfG...

139 Beiträge seit 2006
vor 16 Jahren

PerPixel vergrösserung also mit Set/GetPixel ist natürlich sau langsam. Aber simples vergrösstertes malen mit graphics ist auf jedenfall sau schnell. Wenn du noch die HighQuality dinger raus nimmst, ist es noch schnell und hat nix mit Set/GetPixel zu tun 😉

Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen