winapi skalowanie bitmap StretchBlt kiepskie kolory

0

Cześć mam pytanie czy istnieje jakaś możliwość by przeskalowany (na mniejszy ) obraz miał w miarę ładne kolory?
napisałem funkcje dbającą o zachowanie proporcji przekazującą wymiary do metody

 StretchBlt( hdc, 50, 420, WymiaryBmp[ 0 ], WymiaryBmp[ 1 ], hdcBitmapy, 0, 0, info_bitmapy.bmWidth, info_bitmapy.bmHeight, SRCCOPY );

owy przeskalowany obraz ma wówczas fatalne kolory.

0

przeskalowany obraz ma wówczas fatalne kolory

Co to znaczy „ma fatalne kolory”?
Może pokaż zrzut ekranu?

Tu jest jakiś przykład skalowania.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd162950%28v=vs.85%29.aspx
Nie testowałem. Wolę GDI+.

0

lewy po skalowaniu

0

No to nie w skalowaniu problem, tylko w tym, że lewa bitmapa ma mniejszą przestrzeń kolorów (zapewne 8-bitową).

0

Czytałem ostatnio o tym, ta funkcja przy pomniejszaniu łączy piksele przyległe do usuwanego pixela. W ten sposób traci się jakość. W drugą stronę dodawane są piksele o tej samej barwie obok siebie co robi pikselozę. Użyj czegoś innego

0

A jakie inne metody pod aplikacje okienkowa w winapi polecasz?

0

A jakie inne metody pod aplikacje okienkowa w winapi polecasz?

0

http://4programmers.net/Forum/1258251 popatrz, może coś się znajdzie.
Popatrz w directx, allegro.

0

Sorki za powielanie posta ale nie byłem zarejesyrowany.
Wracając do tematu... Ogólnie oba obrazki są wczytywanie z jednego pliku bmp po prawej ma podane wymiary pobrane z pliku, po lewej wymiary są pomniejszone i podane przez funkcje która dba o zachowanie proporcji oraz o to by maksymalny rozmiar obrazu był 250x250

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