Здравствуйте!
сегодня пол дня возился с картинками (увеличение по клику)
Дано: картинка jpg
Диагноз: вставляется на лист Excel в уменьшенном виде
(картинки 111 и 222 вставляются неправильно. 333 для примера - вставляется правильно)
Лечение: удалить Exif из 111 и 222
не помогает:
пересохранение в фотошопе в jpg
пересохранение в фотошопе в png
кадрирование (обрезка) с пересохранением ACDSee
кадрирование (обрезка) с пересохранением в фотошопе
помогает:
PrintScreen картинки в натуральную величину, вставка в любой редактор, сохранение
смена формата jpg -> png ACDSee
удаление Exif данных (например с помощью ShowExif)
Архив с листом Excel и картинками (300 кб)

что самое интересное - эти картинки с неправильными Exif даже умудряются выбивать Excel в аут при точном подборе размеров на куске кода:
(код с сайта
т.е. обычная картинка нормально проезжает по коду, а картинки 111 и 222 его зависают (там цикл не завершается)
это можно посмотреть в файле Книга1_.xlsm по кнопкам "НЕ зависает" и "зависает"
основную проблему, которая была по поводу этих картинок
можно посмотреть по кнопке "test"

сегодня пол дня возился с картинками (увеличение по клику)
Дано: картинка jpg
Диагноз: вставляется на лист Excel в уменьшенном виде
(картинки 111 и 222 вставляются неправильно. 333 для примера - вставляется правильно)
Лечение: удалить Exif из 111 и 222
не помогает:
пересохранение в фотошопе в jpg
пересохранение в фотошопе в png
кадрирование (обрезка) с пересохранением ACDSee
кадрирование (обрезка) с пересохранением в фотошопе
помогает:
PrintScreen картинки в натуральную величину, вставка в любой редактор, сохранение
смена формата jpg -> png ACDSee
удаление Exif данных (например с помощью ShowExif)
Архив с листом Excel и картинками (300 кб)

что самое интересное - эти картинки с неправильными Exif даже умудряются выбивать Excel в аут при точном подборе размеров на куске кода:
(код с сайта
| Код |
|---|
If AdjustWidth Then PicRange.Cells(1).ColumnWidth = PicRange.Cells(1).ColumnWidth * ph.Width / PicRange.Cells(1).Width While Abs(PicRange.Cells(1).Width - ph.Width) > 0.1 ' точный подбор ширины ячейки PicRange.Cells(1).ColumnWidth = PicRange.Cells(1).ColumnWidth - 0.2 * (PicRange.Cells(1).Width - ph.Width) Wend End If |
это можно посмотреть в файле Книга1_.xlsm по кнопкам "НЕ зависает" и "зависает"
основную проблему, которая была по поводу этих картинок
можно посмотреть по кнопке "test"

Изменено: - 14.12.2014 15:45:06