Проблема масштабирования изображений с GDIPLUS :: Graphics :: DrawImage Когда дисплей DPI влияет на печать на Windows HDC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Проблема масштабирования изображений с GDIPLUS :: Graphics :: DrawImage Когда дисплей DPI влияет на печать на Windows HD

Сообщение Anonymous »

Я сталкиваюсь с проблемой во время печати изображений с использованием Gdiplus :: Graphics :: DrawMage на HDC Windows, созданном из драйвера «Microsoft Print to PDF». Основная проблема состоит в том, что на выходные настройки принтера влияют настройки масштабирования DPI дисплея. Однако, когда пользователь изменяет дисплей DPI на 120 (размер текста 125%) или другие нестандартные значения, изображения неверно масштабируются. Например, исходное изображение 100x100 пикселей приводит к тому, что на странице печатается только около 80x80 пикселей, как если бы GDI+ неправильно применяет масштабирование дисплея к выходу печати. Для JPEGS я обнаружил, что обновление данных ESIF для установления значения DPI (72, 96, 120 и т. Д.) Решает проблему, позволяя правильно печатать изображение даже с установленным DPI DPI на 120%. However, this trick doesn't work for PNGs since they lack DPI metadata.
Here’s what I’ve tried so far:
  • Calling Gdiplus::Graphics::SetPageScale
  • Using Gdiplus::Graphics::ResetTransform
Ни один из них не решил проблему. Похоже, что GDI+ применяет коэффициент масштабирования дисплея к изображению во время процесса печати, чего не должно произойти. Любые обходные пути или исправления, особенно для файлов PNG, будут очень оценены!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -affects-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать Graphics.DrawImage в событии Paint, но в форме круга?
    Гость » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Гость
  • Как преобразовать координату в собственном DPI в координату в логике DPI WPF?
    Anonymous » » в форуме C#
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Определить коэффициент DPI/масштабирования в приложении Python TkInter
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • C#, VS2022, Мониторинг масштабирования DPI, несовместимый на одном мониторе
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Android 10 вводит входные данные на внешний дисплей/виртуальный дисплей
    Anonymous » » в форуме Android
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»