Название: колебание буквы Отправлено: BuRn от Май 28, 2012, 20:19 Здравствуйте. Требуется отрисовать определенные буквы в определенном месте, что подскажете , я так думаю создать объект буквы, только вот как ее колебать и отрисовать на форме понятия не имею. Натолкните на идею
Название: Re: колебание буквы Отправлено: Igors от Май 28, 2012, 21:17 Так напечатали исходную букву(ы) в QImage - и там ее колебите сколько хотите :)
Название: Re: колебание буквы Отправлено: BuRn от Май 28, 2012, 21:47 Так напечатали исходную букву(ы) в QImage - и там ее колебите сколько хотите :) дык а как колебать QImage Название: Re: колебание буквы Отправлено: Igors от Май 29, 2012, 08:53 дык а как колебать QImage Да как угодно, напр сдвинуть пиксели в каждой строке, смещение посчитать напр по sin. Или можно сжать-растянуть. Ну или вообще найти готовый набор эффектов (наверняка есть)Название: Re: колебание буквы Отправлено: Bepec от Май 29, 2012, 09:10 Igors я верю в ваш опыт, но...
Думаю, Burn просит любой пример. Так как я тоже вас не совсем понимаю :) Я понимаю что надо сдвинуть строки влево. Как это сделать? Приведите пожалуйста пример ;) PS не все работают с графикой, увы :/ Название: Re: колебание буквы Отправлено: alexis031182 от Май 29, 2012, 09:21 Может быть так?
QTransform QImage::trueMatrix ( const QTransform & matrix, int width, int height ) [static] (https://qt-project.org/doc/qt-4.8/qimage.html#trueMatrix-2) А далее уже можно изголяться (https://qt-project.org/doc/qt-4.8/qtransform.html#details) Название: Re: колебание буквы Отправлено: Bepec от Май 29, 2012, 09:28 Кхм... я попросил пример использования работы с QImage.
Igors, помоему, имел в виду работу напрямую с QImage, без посредников. Или нет? В любом случае - я примера просил. Допустим поколебать каждую 2 строку на сантиметр влево, а каждую 1 на сантиметр вправо. Название: Re: колебание буквы Отправлено: Igors от Май 29, 2012, 09:53 "Колебание" - значит искажение буквы, это преобразование не описывается матрицей. Писал здесь, возможны ошибки
Код Ну и во времени меняете амплитуду и/или фазу Название: Re: колебание буквы Отправлено: Bepec от Май 29, 2012, 10:06 Во во. Теперь мне на 100% непонятно, значит всё верно :D С графикой уж точно не дружу ;)
Спасибо за пример. Возможно когда-нибудь и разберусь :-\ Название: Re: колебание буквы Отправлено: ecspertiza от Май 29, 2012, 10:37 Я если чесно думал что будет работа с пикселями :) А тут прям ....
Название: Re: колебание буквы Отправлено: Igors от Май 29, 2012, 10:44 Если без анти-алиаса, то все очень просто. А вот с ним - не очень, ну будем надеяться до него дело не дойдет :)
Название: Re: колебание буквы Отправлено: Bepec от Май 29, 2012, 10:51 Хочу с пикселями :D Покажите пожалуйста.
PS хоть и не пойму ничего, зато смогу с гордостью говорить - я видел как работать с пикселями :D Название: Re: колебание буквы Отправлено: ecspertiza от Май 29, 2012, 10:56 Если чесно над алгоритмом еще не думал, но подозревал что работа будет проходить через QImage::setPixel() и QImage::pixel() . Попробую вечером ченить накидать, может получится чего )))
Название: Re: колебание буквы Отправлено: Bepec от Май 29, 2012, 11:59 А не затратно будет? точнее не черезчур медленно?
Название: Re: колебание буквы Отправлено: ecspertiza от Май 29, 2012, 13:07 Ну вообще да, не быстро будет, ибо setPixel вроде как там что то преобразовывает. Тут я думаю будет зависеть от размера буквы, и частоты обновления.
Название: Re: колебание буквы Отправлено: Igors от Май 29, 2012, 14:12 Ну вообще да, не быстро будет, ибо setPixel вроде как там что то преобразовывает. Если данные не ARGB, то придется использовать get/setPixel. Но такие форматы с палитрой - давно уже дань истории, зачем же нам для букв создавать такой QImage? А в ARGB пиксель = int, никакие операции с каналами в данном случае не нужны, ну и работаем c int Название: Re: колебание буквы Отправлено: rp80 от Июнь 07, 2012, 20:37 Здравствуйте. Требуется отрисовать определенные буквы в определенном месте, что подскажете , я так думаю создать объект буквы, только вот как ее колебать и отрисовать на форме понятия не имею. Натолкните на идею По всякому можно, например создать лейбл, взять его пиксмап и его вертеть, сжимать итп. Код:
Название: Re: колебание буквы Отправлено: andrew.k от Июнь 07, 2012, 20:49 Здравствуйте. Требуется отрисовать определенные буквы в определенном месте, что подскажете , я так думаю создать объект буквы, только вот как ее колебать и отрисовать на форме понятия не имею. Натолкните на идею По всякому можно, например создать лейбл, взять его пиксмап и его вертеть, сжимать итп. Код:
Совершенно не понял, какой смысл букву разбивать на пиксели и их колбасить, если двигать нужно всю букву? Название: Re: колебание буквы Отправлено: Igors от Июнь 07, 2012, 21:08 По всякому можно, например создать лейбл, взять его пиксмап и его вертеть, сжимать итп. Конечно можно и так, но возможностей меньше, не все можно сделать матрицей.Название: Re: колебание буквы Отправлено: andrew.k от Июнь 07, 2012, 22:51 По всякому можно, например создать лейбл, взять его пиксмап и его вертеть, сжимать итп. Конечно можно и так, но возможностей меньше, не все можно сделать матрицей.Из пушки по воробьям? |