Latest post of the previous page:
Не понял, что сделать опциональным и где картинка выглядит "грубей"? Опционально отключать сглаживание, конечно можно сделать, но это только ухудшит качество картинки.GDIPlus — Субплагин PictureView 2
Re: GDIPlus — Субплагин PictureView 2
"Опционально отключить сглаживание"? Т.е. на самом деле оно есть? Судя по "не должно быть эффекта сглаживания" его как раз нет.
И если верить глазам, его нет.
Потому что вот как выглядит картинка, если смотреть через gdiplus, а вот как через in_apl.
upd. файлы убрал - неактуально с новой версией сабжа.
И если верить глазам, его нет.
Потому что вот как выглядит картинка, если смотреть через gdiplus, а вот как через in_apl.
upd. файлы убрал - неактуально с новой версией сабжа.
Last edited by Wave on Wed 24 Nov, 2010 18:13, edited 1 time in total.
Пользуюсь ФАРом больше 20 лет © собирательный.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: GDIPlus — Субплагин PictureView 2
При 100% масштабе сглаживания нет, картинка выводится так, как ее отрендерил GDI+. При масштабировании - есть. Вернее, это не сглаживание, а режим масштабирования HALFTONE. У меня GDIPlus обычно выдает картинку лучшего качества, чем через другие декодеры, но in_apl я не смотрел, так что врать не буду. По поводу твоих примеров - непонятны режимы вывода. Ты бы сделал шоты в окошке Far'а - чтобы были видны масштаб и остальное. И исходную картинку бы приложил - может я смогу что-то улучшить.
Re: GDIPlus — Субплагин PictureView 2
И написал бы, какой модуль вывода используется
in_apl, не знаю как сейчас, но раньше отдавал картинку в полном масштабе, т.е. сглаживанием занимается исключительно модуль вывода.
in_apl, не знаю как сейчас, но раньше отдавал картинку в полном масштабе, т.е. сглаживанием занимается исключительно модуль вывода.
Re: GDIPlus — Субплагин PictureView 2
А пожалуйста. Картинка — первая попавшаяся из тех, где грубость видна без особых приглядываний. А так считай любая, где лицо на тёмном фоне или ещё что-нибудь такое.
[был спойлер]
А разницы между GDI+ и DirectX я не вижу. Да и проблема, похоже, в масштабе больше 100%.
upd. файлы убрал - неактуально с новой версией сабжа.
[был спойлер]
А разницы между GDI+ и DirectX я не вижу. Да и проблема, похоже, в масштабе больше 100%.
upd. файлы убрал - неактуально с новой версией сабжа.
Last edited by Wave on Wed 24 Nov, 2010 18:15, edited 1 time in total.
Пользуюсь ФАРом больше 20 лет © собирательный.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: GDIPlus — Субплагин PictureView 2
Спасибо за новую версию! Я так понял, пока нет возможности отключить сглаживание по умолчанию через настройки?
Может кому пригодится.
Re: GDIPlus — Субплагин PictureView 2
Да, пожалуй, нет особой надобности, если подумать.
Может кому пригодится.
Re: GDIPlus — Субплагин PictureView 2
замечание по сглаживанию
в WinXP ru в папке WINDOWS есть картинка "Голубые кружева 16.bmp". если ее посмотреть новой версией GDIPlus, то первая реакция — что-то с глазами не то стало, и изображение расплывается. внимательное изучение показывает, что сглаженная картинка состоит из ступенек (которые и дают тот удивительный эффект), а не из плавных полутонов, как у всех остальных субплагинов. видимо, сглаженная картинка не должна ограничивать себя разрядностью исходной картинки, от такого «сглаживания» толку мало.
в WinXP ru в папке WINDOWS есть картинка "Голубые кружева 16.bmp". если ее посмотреть новой версией GDIPlus, то первая реакция — что-то с глазами не то стало, и изображение расплывается. внимательное изучение показывает, что сглаженная картинка состоит из ступенек (которые и дают тот удивительный эффект), а не из плавных полутонов, как у всех остальных субплагинов. видимо, сглаженная картинка не должна ограничивать себя разрядностью исходной картинки, от такого «сглаживания» толку мало.
Фар делают добрые люди
довольно неприятный баг
иногда при сохранении (exif correction), плагин не может записать файл (о чем он сообщает - не могу создать файл, т.к. он существует).
при этом файл сохраняется с расширением $$$. если потом еще раз нажать F2, то плагин пишет read image error и после этого - не остается не исходного, не измененного файла. картинка при этом еще отображается на экране. (и кажется что все в порядке).
судя по логу procmonа - исходный файл удаляется несколько позже, когда идет закрытие какого то хэндла. (до этого он висит DELETE PENGING).
возможно такое поведение связано с MSE (2.0, Win7x86). но даже это не повод безвозвратно удалять исходный файл.
поэтому есть предложение немного изменить алгоритм сохранения:
1. удалить, если существуют, <image>.bak и <image>.tmp. если не удается - выдать ошибку.
2. сохранить изменения во временный файл <image>.tmp.
3. переименовать исходный файл в <image>.bak. это должно сработать, даже если файл открыт еще где то. если не удалось - удалить временный.
4. переименовать временный в исходный.
5. удалить <image>.bak.
или даже еще проще: удалить, если есть, bak; переименовать в bak; записать вместо оригинала; удалить bak.
возможно это пригодится:
при этом файл сохраняется с расширением $$$. если потом еще раз нажать F2, то плагин пишет read image error и после этого - не остается не исходного, не измененного файла. картинка при этом еще отображается на экране. (и кажется что все в порядке).
судя по логу procmonа - исходный файл удаляется несколько позже, когда идет закрытие какого то хэндла. (до этого он висит DELETE PENGING).
возможно такое поведение связано с MSE (2.0, Win7x86). но даже это не повод безвозвратно удалять исходный файл.
поэтому есть предложение немного изменить алгоритм сохранения:
1. удалить, если существуют, <image>.bak и <image>.tmp. если не удается - выдать ошибку.
2. сохранить изменения во временный файл <image>.tmp.
3. переименовать исходный файл в <image>.bak. это должно сработать, даже если файл открыт еще где то. если не удалось - удалить временный.
4. переименовать временный в исходный.
5. удалить <image>.bak.
или даже еще проще: удалить, если есть, bak; переименовать в bak; записать вместо оригинала; удалить bak.
возможно это пригодится:
If you call CreateFile on a file that is pending deletion as a result of a previous call to DeleteFile, the function fails. The operating system delays file deletion until all handles to the file are closed. GetLastError returns ERROR_ACCESS_DENIED.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: GDIPlus — Субплагин PictureView 2
У меня похожая на вышеописанную ситуация, но есть отличия - не иногда, а постоянно при любом сохранении (и F2, и Alt-F2) пишет "Access is denied", дальше симптомы те же. Far 2.0 build 1807 x86, PictureView 2.0 (ConEmu mod26 #1661), GDIPlus 1.0.5, Win XP Pro SP3.