Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.11.2009, 13:25
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Код который это делает я наконец нашел-достряпал: Для xp нужно устанавливать и регистрировать wiaaut.dll , http://www.microsoft.com/downloads/details.aspx?familyid=a332a77a-01b8-4de6-91c2-b7ea32537e29&displaylang=en для висты итак есть родная WIA dll. Все здорово. Код как я его написал будет работать с любой dll (ну обработку ошибки дописать только.) Проблема такая. Стандартные tiff-файлы факсов бывают Normal 200х100 и Fine 200х200. Picture1-это небольшой PictureBox в пропорциях A4. Если делать вывод не думая то 200х100 отобразится в верхней половине, ляжет по ширине (но сжат в 2 раза по вертикали!). Как растянуть в 2 раза не напоганив картинку (желат.сразу отображать в этот PictureBox)? Напоганив можно тупо скопировать ее в ImageBox или как там его со свойством Stretch=true, можно даже сразу ее там отобразить запоров 2/3 кода, но это напоганить сильно. Подозреваю что PaintPicture но туплю ужасно. Что надо поменять в коде, чтоб 200х100 красиво растянулся в 2 раза (по y) на целый PictureBox и не смазался? (подсчитать Normal или Fine из св-в файла я умею, но в координатах разных не силен, увы.). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.11.2009, 14:40
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Дмитрий77, изменения, в общем, небольшие. Если известно, что размеры картинки надо изменить анизотропно (без сохранения пропорций), то надо выставить третье свойство фильтра Scale в False. Но размеры, в которые должна вписаться картинка, придётся при этом высчитать самому. P.S. Насколько я знаю (могу ошибаться), WIA использует GDI+. Но программы могут использовать GDI+ и напрямую, без WIA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2009, 03:06
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Бенедикт то надо выставить третье свойство фильтра Scale в False. Но размеры, в которые должна вписаться картинка, придётся при этом высчитать самому. Ваш совет помог. 1)IP.Filters(1).Properties(3).Value = False -вписывает в рамку и без глюков 2) Код: plaintext 1. 2. 3. 4. 3) Я добавил номер отображаемой страницы Img.LoadFile name Img.ActiveFrame = frame Код работает, но все кроме первой страницы отображается похабно. Т.е. к первой странице применяется "сглаживание изображения" (градации серого м.б., так что ли?) Ко второй не применяется, т.е. изображение черными точками, это на мелкой картинке некрасиво. Куда копать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2009, 09:02
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Фиг его знает где собака была, но вот так получилось в лучшем. виде. 1)Т.е. я загружаю многостраничный документ в Img. 2) Копирую в другой Img1 выбранный фрейм, ибо параметр wiaFormatBMP (можно wiaFormatJPEG, х.з. jpeg голубоватый получается) не даст скопировать более одного фрейма. 3) Форматирую-подгоняю размеры Img1(1 страница) и отображаю Получается OK, сначала пытался сохранять во временный bmp или jpg, но потом понял что можно сразу преобразовывать. Но все же непонятно почему предыдущий код гадил на не первой странице. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2009, 15:05
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Дмитрий77, Ночная смена? Да, не совсем понятно, почему "правильные" режимы масштабирования не действуют на страницу по умолчанию (свойство FrameIndex фильтра Scale), либо на явно выбранную страницу. Но всё равно последний вариант гораздо лучше начального, потому что не делает работу (и не потребляет ресурсы, соответственно), результат которой может не понадобиться. P.S. Надеюсь, знаете, что Dim w, h As Integer это Dim w As Variant, h As Integer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2009, 15:59
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
>...что Dim w, h As Integer это Dim w As Variant, h As Integer гы...не задумываясь как-то у microsofta перекатал, однако... Да не, вещь бесценная, главное универсальная, она еще вентовские qfx-ы смотреть умеет. Потому как xp-шный faxpriview кривой и на висте вообще не работает (а фотоальбом для данного применения не замена). Оно еще сохранять во всяких jpg-bmp умеет, супер просто! Здесь единственно ,библиотеку в инсталлятор засовывать надо, и если xp то ставить и делать ей regsvr32, но это даже лицензии на нее не противоречит. Вы судя по всему знаете про все эти фильтры, где б посмотреть, потому как в справке по библиотеке я именно подробного описания их не нашел, count а слова сами только из немногочисленных примеров намекаются. Ресурсы то оно не больше чем надо кушает? для preview...на 3-м пне нарочно проверил, чкть поддтормаживает, на 2-х процессорном современном вроде все комфортно, но по крайней мере ... еще бы чего-нибудь такое для pdf-preview разумное. Мне сложностей не надо, ибо я работаю с pdf-ми, кот. получаются из tiff через libtiff, т.е. по сути этот tiff в себе содержат. Контрол от Акробата я смотрел, но чего то он мне не нравится, не уверен в его универсальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.11.2009, 17:55
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
А, вот похоже описание фильтров...кажется надо запускать скрипт-прогу, чтобы это вывести. http://chijanzen.net/wp/?p=347&lang=en ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2009, 03:03
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Дмитрий77Да не, вещь бесценная, главное универсальная, она еще вентовские qfx-ы смотреть умеет. Потому как xp-шный faxpriview кривой и на висте вообще не работает (а фотоальбом для данного применения не замена). Оно еще сохранять во всяких jpg-bmp умеет, супер просто! Здесь единственно ,библиотеку в инсталлятор засовывать надо, и если xp то ставить и делать ей regsvr32, но это даже лицензии на нее не противоречит.Я по привычке больше использую для показа-обработки изображений более низкоуровневые средства, GDI+ и GDI. GDI+ входит в комплект XP, может быть отдельно установлен на более старые системы вплоть до 95 OSR 2. Но с qfx она не работает. А вот для работы с устройствами ввода изображений, и как библиотека для скриптовых языков WIA, конечно, отличная штука (однако не все девайсы имеют драйверы, его поддерживающие). Дмитрий77Вы судя по всему знаете про все эти фильтры, где б посмотреть, потому как в справке по библиотеке я именно подробного описания их не нашел, count а слова сами только из немногочисленных примеров намекаются.Не более, чем можно увидеть в Locals, Object Browser и справке. Самое информативное по фильтрам Вы уже откопали - свойство Description. Ну, а выводы я делаю по аналогии с другими Дмитрий77Ресурсы то оно не больше чем надо кушает? для preview...на 3-м пне нарочно проверил, чкть поддтормаживает, на 2-х процессорном современном вроде все комфортно, но по крайней мереСделал вариант на GDI+ (в приложении). По моим наблюдениям, вариант с WIA ест меньше памяти в пике, но медленней. Дмитрий77... еще бы чего-нибудь такое для pdf-preview разумное. Мне сложностей не надо, ибо я работаю с pdf-ми, кот. получаются из tiff через libtiff, т.е. по сути этот tiff в себе содержат. Контрол от Акробата я смотрел, но чего то он мне не нравится, не уверен в его универсальности.К сожалению, с pdf работал мало, и то с тем самым Акробатовским ActiveX-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2009, 03:04
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Ну, а выводы я делаю по аналогии с другими ... библиотеками обработки изображений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2009, 06:11
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
>Но с qfx она не работает qfx это тот же тиф, все работает, проверил на вашем коде, но это просто к слову сказано было, они в VentaFax-6 уже даже не используются. Занятно, я не вникал в код ваш пока, но понравилось даже больше, т.к. чисто через API. Уж и не знаю менять ли то над чем 2 дня думал (и вставлял в программу) на ваш вариант... >По моим наблюдениям, вариант с WIA ест меньше памяти в пике, но медленней. Сейчас пока я решил использовать вариант с wma для вывода отдельной картинки. А вот представьте другой стандартный вариант. Listview-список. При выделении строчки списка справа в столбик отображаются страницы файла. Если знаете VentaFax то объяснять не надо. Насколько здесь хорош тот и другой метод? Допустим тыкнулся мышкой в строчку, наверно по-любому нормально будет. А если начнешь стрелками вверх-вниз ходить. Если будут заметные тормоза, то будет полная ерунда...Что думаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.11.2009, 03:11
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Дмитрий77, вспомнил о функции извлечения/создания миниатюр (thumbnail), добавил соответствующий метод в класс. Теперь памяти в пике потребляется гораздо меньше, качество вполне нормальное, см. приложение. Дмитрий77А вот представьте другой стандартный вариант. Listview-список. При выделении строчки списка справа в столбик отображаются страницы файла. Если знаете VentaFax то объяснять не надо. Насколько здесь хорош тот и другой метод? Допустим тыкнулся мышкой в строчку, наверно по-любому нормально будет. А если начнешь стрелками вверх-вниз ходить. Если будут заметные тормоза, то будет полная ерунда...Что думаете?Исходя из общих соображений, интерактив - штука не только техническая, но и психологическая. Т. е. если, например сделать так: одну секунду что-то делать, ничего не показывая на экране, а потом показать суперточный математически результат, то это может восприниматься хуже, чем если через 0,4 секунды показать просто белый лист, ещё через 0,4 показать какой-то мутный, но похожий на настоящий рисунок, и ещё через 0,4 окончательный результат. Здесь надо бы поэкспериментировать, по-хорошему, сделать сначала прототип на той технологии, что позволит быстрее его написать. Если время реакции комфортное (у целевой аудитории, с характеристическими данными), то и заморачиваться на другое, наверное, и не стоит. А вот если некомфортное, то имеется дилемма: развиваться экстенсивно, оставляя имеющийся алгоритм, но переходя на более низкоуровневые и потому быстрые средства, либо интенсивно, меняя алгоритм. Отцы-основатели учат, что второе более эффективно :), но, конечно же, в идеале неплохо бы объединять оба подхода. По поводу смены алгоритма можно подумать над схемами кеширования данных и предсказания действий пользователя. Ведь пока пользователь фтыкает, шо ж там такое на екране, можно кучу работы сделать (да, результат которой может не понадобиться, так что нужен какой-то компромис). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.11.2009, 13:00
|
|||
|---|---|---|---|
Как правильно отобразить tiff файл на PictureBox |
|||
|
#18+
Спа-сибо. Ну я так открыл файл в 52 страницы, видно что это не "картина Репина", но для указанной цели очень даже. Да и первый вариант достаточно хорош. Не знаю что там с ресурсами, но на WIA ощущаются нек. визуальная задержка в момент открытия т.е. загрузки в основной Img. (Задержка не принципиальная для открытия формы с одной картинкой на совр. PC, но явно будет заметно в том чего я описал). Пока удовлетворился WIA, зря что ли время тратил...сильно отвлекся от основной сути программы за этими иконками-картинками-виндами. Но в будущем обязательно воспользуюсь... Да, давно я все эти штуки искал...Счастья в жизни стало чуть-чуть больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2160400]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 368ms |

| 0 / 0 |
