Правильный способ распечатать QCView - PullRequest
1 голос
/ 01 марта 2012

Я потратил много времени и сил на рисование определенных трехмерных графиков и поверхностей, используя Кварцевую Композицию. Все выглядит замечательно в QCView моего приложения (Какао). Однако для печати я делаю снимок QCView для генерации NSImage и помещаю его в NSView для моего экрана параметров печати. Тем не менее, линии и цвета на снимке выглядят ужасно смещенными. Есть ли какой-либо другой способ либо напрямую печатать из моего QCView, либо обойти / переопределить создание снимка, чтобы изображение NSImage выглядело так же хорошо, как в моем QCView? QCView наследуется от NSView, но встроенный метод печати, похоже, не работает.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

Спасибо smokris, но я обнаружил, что способ сделать это - сделать снимок CGImage.Я думал, что смогу поместить этот снимок в IKImageView, который сохраняет сглаживание, но IKImageView страдает той же проблемой QCView, в которой при вызове print вы ничего не получаете в окне печати. ​​

Итак, метод, который наконец-то сработал, заключается в создании pdf-данных из снимка CGImage с использованием CGPDFContext, загрузке NSImageView с NSImage, сгенерированным из этих pdf-данных, и при переходе в окно печати все сглаживание сохраняется!Очень карусель, но работает как шарм!

0 голосов
/ 01 марта 2012

Уничтожение сглаживания может иметь отношение к альфа-прозрачности. Как самый низкий слой в вашей композиции, у вас есть прозрачный патч с непрозрачным черным? (По умолчанию используется прозрачный черный цвет, что может быть причиной проблемы здесь.)

...