Я рисую текст с помощью QPainter на QImage, а затем сохраняю его в TIFF.
Мне нужно увеличить DPI до 300, что должно сделать текст больше в пикселях (для того же размера точек).
Я рисую текст с помощью QPainter на QImage, а затем сохраняю его в TIFF.
Мне нужно увеличить DPI до 300, что должно сделать текст больше в пикселях (для того же размера точек).
Вы можете попробовать использовать QImage::setDotsPerMeterY() и QImage::setDotsPerMeterX(). DPI означает «точек на дюйм». 1 дюйм равен 0,0254 метра. Таким образом, вы должны иметь возможность конвертировать в точки на метр (dpm):
int dpm = 300 / 0.0254; // ~300 DPI
image.setDotsPerMeterX(dpm);
image.setDotsPerMeterY(dpm);
Это не будет точно 300DPI (на самом деле это 299,9994), так как функции работают только с целыми значениями. Но во всех смыслах этого достаточно (я бы сказал, 299,9994 против 300 — это неплохо).
В метре 39,37 дюйма. Так:
Настройка:
qimage.setDotsPerMeterX(xdpi * 39.37);
qimage.setDotsPerMeterY(ydpi * 39.37);
Получение:
xdpi = qimage.dotsPerMeterX() / 39.37;
ydpi = qimage.dotsPerMeterY() / 39.37;