Strona 2 z 2

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: sobota, 29 września 2012, 16:46
przez Mironas
Cyfrowy Baron napisał(a):
Mironas napisał(a):Przy małych, pojedynczych plikach można też zrobić podwójne RotateFlip obracając obraz np 2 razy w pionie. Prostsze do wykonania.

Tego nie polecam, gdyż obrazek ulegnie modyfikacji.

No właśnie pomyślałem sobie że Flip w pionie będzie najmniej modyfikował obraz bo to jest tylko zamiana kolejności wierszy. Ale oczywiście nie wiem na pewno jak to jest realizowane. Poza tym w przypadku pliku PNG gdzie jest używana kompresja bezstratna chyba nie ma mowy o modyfikacji obrazu?

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: sobota, 29 września 2012, 20:00
przez Cyfrowy Baron
Mironas napisał(a):Poza tym w przypadku pliku PNG gdzie jest używana kompresja bezstratna chyba nie ma mowy o modyfikacji obrazu?


Z tego co się orientuję to każdy format graficzny poza bitmapą jest kompresowany!?

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: niedziela, 30 września 2012, 10:27
przez Mironas
Cyfrowy Baron napisał(a):
Mironas napisał(a):Poza tym w przypadku pliku PNG gdzie jest używana kompresja bezstratna chyba nie ma mowy o modyfikacji obrazu?

Z tego co się orientuję to każdy format graficzny poza bitmapą jest kompresowany!?

Miałem na myśli że w przypadku PNG mamy kompresje bezstratną więc tak na logikę operacje typu 'obróć obraz w tą i z powrotem' nie powinny powodować żadnej modyfikacji obrazu. W przypadku JPG (kompresja stratna) już nie był bym tego taki pewien.

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: niedziela, 30 września 2012, 10:34
przez polymorphism
A nie wydaje Ci się, że kręcenie obrazkiem tylko po to, żeby zapisać jakieś metadane z tego samego obiektu Image jest delikatnie mówiąc niezbyt rozsądne?

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: niedziela, 30 września 2012, 11:05
przez Cyfrowy Baron
Szczególnie, że w przypadku zmodyfikowania obrazu zapisanie do tego samego pliku zajmie dokładnie tyle samo czasu co zapisanie do innego pliku - tak sądzę, wszak dane ulegną zmianie.

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: niedziela, 30 września 2012, 12:05
przez Mironas
polymorphism napisał(a):A nie wydaje Ci się, że kręcenie obrazkiem tylko po to, żeby zapisać jakieś metadane z tego samego obiektu Image jest delikatnie mówiąc niezbyt rozsądne?

Jeśli dzięki temu będę mógł w prosty sposób zapisać plik to czemu nie? Tym bardziej że dzięki temu unikamy komplikacji typu: plik tymczasowy już istnieje!

Cyfrowy Baron napisał(a):Szczególnie, że w przypadku zmodyfikowania obrazu zapisanie do tego samego pliku zajmie dokładnie tyle samo czasu co zapisanie do innego pliku - tak sądzę, wszak dane ulegną zmianie.

Jak napisałem wybrałem sposób z zapisem do pliku tymczasowego jako wg mnie najlepszy. Sposób z podwójnym obracaniem obrazu jako drugie ciekawe rozwiązanie w przypadku małego obrazu. Oba sposoby są skuteczne i oba mają wady i zalety. Do wyboru co kto lubi.

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: niedziela, 30 września 2012, 12:28
przez polymorphism
Jeśli dzięki temu będę mógł w prosty sposób zapisać plik to czemu nie?

A temu nie, ponieważ w dokumentacji masz jasno napisane, że zapisywanie pod tą samą nazwą jest niedozwolone. Dziś Ci działa, jutro nie (bo np. autorzy zmienili coś w implementacji GDI+, zachowując przy tym zgodność API). A mówiąc tak bardziej ogólnie: są głupie rozwiązania i te racjonalne.

Tym bardziej że dzięki temu unikamy komplikacji typu: plik tymczasowy już istnieje!

Tego nie rozumiem. Jeśli funkcja zapisująca zwróci sukces, to znaczy, że plik jest już na dysku. Tworzysz sztuczny problem. Zresztą zapis bezpośrednio do pliku źródłowego ma tę wadę, że jeśli coś pójdzie nie tak w trakcie zapisywania, tracisz plik źródłowy.

Re: Gdiplus::Image - Zapis do pliku

Nowy postNapisane: niedziela, 30 września 2012, 13:32
przez Mironas
polymorphism napisał(a):ponieważ w dokumentacji masz jasno napisane, że zapisywanie pod tą samą nazwą jest niedozwolone. Dziś Ci działa, jutro nie

Słusznie. Kupuję argument.