Я рисую текст с помощью 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);
Это не будет точно 300 точек на дюйм (это на самом деле 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;