PictureBox, skalowanie Image

Odpowiedz Nowy wątek
2011-07-08 19:52
0

Witam.

Mam klase ktora zwraca mi Image z dużą bitmapa w srodku. W tym Image sa zwykle linie w kolorze czarnym.
Na formie mam PictureBoxa, z ktorego zrobilem Graphics i teraz problem polega na tym:

Chciałbym wstawić tego Image do tej grafiki, ale zeskalowanego do mnejszych rozmiarów w taki sposób, aby Image nie tracil koloru (Przed skalowaniem jest kolor czarny, po skalowaniu, szary)

Znacie jakies rozwiazanie?

Pozostało 580 znaków

2011-07-08 20:38
msm
0

Mógłbyś wstawić jakiegoś screena bo jakoś nie mogę sobie wyobrazić o co Ci chodzi...?

edytowany 1x, ostatnio: msm, 2011-07-08 20:38

Pozostało 580 znaków

2011-07-08 20:46
Krzysiorek
0

Jak rozumiem skaler zlewa linie czarne i białe w szare? Spróbuj skalera który nie używa wygładzania obrazu.

Pozostało 580 znaków

2011-07-08 20:56
0

Oba Image sa takie same, tyle ze jeden jest zeskalowany, a drugi nie.

//edit
@Krzysiorek:
mozesz podac przyklad?

edytowany 2x, ostatnio: WitekPL, 2011-07-08 20:58

Pozostało 580 znaków

2011-07-08 21:47
Krzysiorek
0

Tak proste obrazki? Wystarczy na przeskalowanym obrazku pętlą sprawdzić czy piksel nie jest biały i ustawić mu kolor na czarny.

Pozostało 580 znaków

2011-07-08 21:54
0

myslisz ze to optymalne rozwiazanie? dobra na razie po prostu inaczej je eksportuje :D

Pozostało 580 znaków

2011-07-08 22:38
msm
0

Niestety, o ile wiem nie da się wyłączyć antyaliasingu podczas skalowania bitmap...

Z rzeczy które przychodzą mi do głowy to:
1 -> sposób krzysiorka -> jeśli zrobisz to za pomocą GetPixel/SetPixel to wolny. Można to zrobić za to w brzydki ale szybszy sposób. Tak czy inaczej sposób przypomina zalepianie taśmą dziury w ścianie bo nie rozwiązuje problemu tylko go ukrywa... Ale lepiej się chyba z bitmapą nie da :(.
2 -> obsługa zdarzenia resized PictureBox-a i samodzielne skalowanie tej bitmapy. Rozwiązanie IMO pewniejsze ale też nie idealne.
3 -> to by było najlepsze, ale wymaga zmiany założeń - nie zwracasz bitmapy tylko obiekt typu GraphicPath - to coś w rodzaju grafiki wektorowej (najlepiej się nadaje dzięki temu do rysowania linii), możesz go skalować, obracać i kręcić ile chcesz a dalej będzie wyglądał tak samo. Tylko że w pictureboxie go nie wyświetlisz... (trzeba go rysować Graphics'em)

edytowany 1x, ostatnio: msm, 2011-07-08 22:39

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0