Свежие комментарии

Title Comment
Если смотреть объективно, то фотографии стали сильно крупнее

Если смотреть объективно, то фотографии стали сильно крупнее.
Подавляющий (по тиражу) размер в пленочную эпоху - это 10x15 (все хорошие), диагональ чуть меньше 8 дюймов.

А сейчас основной тираж идет на монитор. Небось, мельче 17" мониторы и не делают уже? Вот и требования по резкости выросли вдвое.

Наверное это в том числе и от маркетингового сумасшествия по

Наверное это в том числе и от маркетингового сумасшествия по попиксельной резкости.

Вывод: всё в этом мире

Вывод: всё в этом мире сплошной пи**ёж и провокация...

они ещё и в дюймах всё мерят... ;)

они ещё и в дюймах всё мерят... ;)

Я, конечно, не носитель языка, но ROWLENGTH - длина строки

Я, конечно, не носитель языка, но
ROWLENGTH - длина строки
ROWCOUNT - количество строк
И никак иначе.

Т.е. это исторически сложившийся бардак, понятное дело.

Ну длина в строках, что такого-то... У этих западников много

Ну длина в строках, что такого-то...
У этих западников много такого, что по-нашему неестественно.

Re: ДСП

Ну это счастье нужно только для генерации мишени.

Но бардак - завораживает.

Начав читать Шадрина - таким

Начав читать Шадрина - таким мелочам не удивляешься :)

ДСП

Из унутренней документации фрицев с LOGO:

LGOROWLENGTH = Number of rows in the sheet

Из документации дружественных фрицам италийских BARBIERI (варваров)

The parameter LGOROWLENGTH in the measuring file does indicate the length of the columns.

При этом выяснилось, что счастье это - vendor specific tag и в стандарте CGATS вообще отсутствует.

Иногда приходится co-installer делать, для поддержки какой-н

Иногда приходится co-installer делать, для поддержки какой-нибудь вындофс 2000 (ну, пару лет назад - приходилось). Не тащить же потом еще мешок DLL-ок в коробке ;-)

А чисто технически - вариант из DDK мне нравится наамного больше.

Никаких плясок с бубнами, никаких "ой я забыл всунуть манифест", никаких "ой, я подцепил ваш инф в контролпанели и оно там упало". И даже инсталлятор получается простым как грабли и в нем не надо помнить про vc<нумбер>-бла-бла-redist под правильную версию и правильную архитектуру.

Я б для всего пользовал - да два препятствия. Первое - это все три компилятора в DDK (под разные платформы) - разных версий. Ну и второе - это лицензия, прямо запрещающая сборку чего-либо не-околоведерного.

После обновления до 1.6.6

После обновления до 1.6.6 появился и звук, если конечно "это" можно назвать звуком. Ну а так как все на самом деле все затевалось для кодинга под iустройства то звук действительно не главное :)

А тут звук не нужен. У меня

А тут звук не нужен. У меня RPP без звука отлично работает.

Да, возможно что сдублировать

Да, возможно что сдублировать код от эффекта (сложить opacity и нужное мне) - наиболее красивый способ в смысле дублирования кода.

Но пока мы тут переписывались - я уже втупую засабклассил Rect,Line и Polygon, а больше мне и не надо оказалось.

Кагбы для этих целей и

Кагбы для этих целей и прикрутили эффекты. Правда как то через пень колоду.
Сделай свой класик на основе qGraphicsItem. В котором и будут все эти блендинг пропертисы. И отнаследуй прямоугольнички и кружочки из него. Мне кажется троли слажали когда сделали QTextGraphicsItem и QEllipseGraphicsItem, то есть для быстрого старта очень даже полезно, но когда нужно сделать чуть менее тривиальную штуку, народ ругается.

Паинтер в объект прилетает

Паинтер в объект прилетает снаружи. Мне удивительно, что стандартно объект не может его слегка модифицировать и мне приходится эту фичу привинчивать. Казалось бы, такое желание, как XOR или luminocity blending или что там еще есть (в Фотошопе :) - это естественное желание.

Ну то есть вот на примере фотошопа: есть слои (по Z-координате), blending mode (с нижележащими) у каждого слоя - своя. А в Qt этого места не оказалось к моему удивлению.

ахвонаонокак) Забыл уже) Да и всё юзермодовое и так в студии

ахвонаонокак) Забыл уже)
Да и всё юзермодовое и так в студии собиралось...

ls -l /DDK/6001.18002/lib/crt ... -rwx------+ 1 Administrat

ls -l /DDK/6001.18002/lib/crt

...
-rwx------+ 1 Administrators None 101936 2008-01-18 19:46 msvcirt.lib
-rwx------+ 1 Administrators None 102414 2008-01-18 19:46 msvcirtd.lib
-rwx------+ 1 Administrators None 1054134 2008-01-18 19:47 msvcprt.lib
-rwx------+ 1 Administrators None 2688 2008-01-18 19:10 msvcprt_btowc.lib
-rwx------+ 1 Administrators None 1056040 2008-01-18 19:47 msvcprtd.lib
-rwx------+ 1 Administrators None 1745432 2008-01-18 19:48 msvcrt.lib
-rwx------+ 1 Administrators None 1858452 2008-01-18 19:48 msvcrtd.lib
-rwx------+ 1 Administrators None 89094 2008-01-05 03:29 oldnames.lib
...

Ы?

Подсказываю - а user mode helpers как собирать? Вот именно так. Жаль, лицензия не разрешает пользовать для всего подряд.

А чисто технически - весь комплект. Даже знаменитый MFC 4.2 есть.

> При этом слетит Opacity

> При этом слетит Opacity (которая тоже эффект)?
Скорее всего да. Эффекты на объекте может быть только один. Если хочется несколько нужно какой нибудь мета эффект сделать.

> Мое исходное удивление - оно про то, что нельзя флаги паинтера поменять уже сейчас, в
> существующем Qt. Все предыдущие разы это значило, что я что-то не заметил.

Паинтер может создаваться на каждый кадр, или каждый объект. Типа абстракция такая. Нет глобального паинтера. Вот и нельзя менять его состояние.

Т.е. фактически нужно

Т.е. фактически нужно переопределить один виртуальный метод и все.

Ну я бы все же реализовал это

Ну я бы все же реализовал это с помощью эффектов. Вот, например, как реализован эффект opacity (все в методе draw(QPainter *painter)):

QPoint offset;
Qt::CoordinateSystem system = sourceIsPixmap() ? Qt::LogicalCoordinates : Qt::DeviceCoordinates;
QPixmap pixmap = sourcePixmap(system, &offset, QGraphicsEffect::NoPad);
if (pixmap.isNull())
return;

painter->save();
painter->setOpacity(d->opacity);

if (system == Qt::DeviceCoordinates)
painter->setWorldTransform(QTransform());

painter->drawPixmap(offset, pixmap);
painter->restore();

Совсем по хорошему задача

Совсем по хорошему задача выглядит так:
есть сложный по форме объект (4-угольник с кругами по углам чтобы таскать, внутри него сложно нарисованная сетка (если интересно - это натягивается на изображение мишени с образцами цветов, для профайлинга и прочего).

"Это" таскается по изображению и должно быть видно
- углы (точно надо XOR-ить)
- стороны (тоже XOR)
- про сетку (внутри 4-угольника) я пока не уверен, если XOR-ить то что-то неэстетично, возможно нужен другой эффект блендинга.

А все это вместе - это QGraphicsItemsGroup, за исключением кругов по углам, которые самостоятельны (и влияют на перерисовку сетки).

Короче, обычная, не очень простая, *предметная* задача.

При этом слетит Opacity

При этом слетит Opacity (которая тоже эффект)?

Главное то - 25 строчек (5 типов объектов по 5) тупого кода (сохранить Mode, поменять, вернуть) - это гарантированно работает. Ну еще в десятке мест имена базовых классов поменять.

А эффект - это скорее всего и кода больше и отлаживать придется (и, кроме того, я ваще не представляю как это писать т.е. надо изучать).

Мое исходное удивление - оно про то, что нельзя флаги паинтера поменять уже сейчас, в существующем Qt. Все предыдущие разы это значило, что я что-то не заметил.

Эффект назначеный группе

Эффект назначеный группе работает для всех дочерних элементов. Т.е. достаточно написать XOR эффект. А можно более конктренее задачу описать. Все подэлементы группы должны ксорится с тем, поверх чего рисуются.

Попробуй эффект написать. Что

Попробуй эффект написать. Что то типа этого http://qt.gitorious.org/qt/kenji-clone/blobs/bd7f0e3dfb0f509e55b67284f4e...
надо наверное правильный композишн поставить.
Его достаточно на выбранную группу установить.
http://doc.qt.nokia.com/latest/qgraphicsitem.html#setGraphicsEffect

Я попробовал, получилась

Я попробовал, получилась жесть: те объекты, которым этого (XOR) не надо - теперь тоже XOR-ятся.

А если внутри GraphicsItemGroup менять, а потом восстанавливать - то дети не рисуются как надо т.к. дети рисуются не "внутри" рисования Group.

Пойду онанировать пять объектов одинаково сабклассить.

Мы отключили painter state

Мы отключили painter state saving для всего телефона и ничего, никаких артефактов хотя тоже боялись что как сломается...

В худшем случае, эффект можно

В худшем случае, эффект можно назначить каждому узлу, но хотелось бы его один раз назначить. Попробую поэксперементировать.

Не, эффекты растерные,

Не, эффекты растерные, получают pixmap. То есть ксорить надо уже пиксмап.

А есть ли оттуда простой

А есть ли оттуда простой доступ к нижележащим объектам, чтобы XOR сделать?

С наследником все понятно:

С наследником все понятно: сохранили composition mode, поменяли, нарисовали себя (позвали метод базового класса), восстановили composition mode. Четыре строчки.

Но делать наследника для каждого используемого примитива (квадрат, эллипс, линия, полигон, кажется еще что-то) - скучно и противно.

Про хак с отключением кэширования - интересно, может сработать, хотя если объектов много, то секс гарантирован.

Pages

Subscribe to comments_recent_new