|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Вот глиф до вставки и после. Разница очевидна. Что я делаю не так? Код: pascal 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 11:32 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Че-то фигня какая-то с прикладыванием картинки творится, выбирается файл, а в тему не вставляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 11:45 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Пытливый, У тебя там скорее всего png с прозрачным краем и в bmp он преобразуется очень криво. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 13:05 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Попробуйте заменить вывод значка из ImageList на канву функцией ImageList_DrawEx из CommCtrl (гораздо более быстрый способ): Код: pascal 1. 2.
P.S. Из моего общего опыта, у меня периодически возникали подобные казусы при работе с cxImegeList разных версий. При возможности (почти всегда) я использую либо стандартный ImageList, либо TPngImageList из дополнительной библиотеки PngComponents (работаю в D2007). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 13:30 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Сергей NПопробуйте заменить вывод значка из ImageList на канву функцией ImageList_DrawEx из CommCtrl (гораздо более быстрый способ): Код: pascal 1. 2.
P.S. Из моего общего опыта, у меня периодически возникали подобные казусы при работе с cxImegeList разных версий. При возможности (почти всегда) я использую либо стандартный ImageList, либо TPngImageList из дополнительной библиотеки PngComponents (работаю в D2007). А у меня наоборот, при использовании cxImageList проблем с прозрачностью нет, а вот ImageList по-простому не выведешь ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 14:29 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Меланхолично... А ведь битмапы с альфа-каналом существуют хрен знает с какой древности. Вот чего стоило встроить их поддержку в генофонд, всего то одну функцию при отрисовке заменить и подправить конвертацию из других graphic-ов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 14:36 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский БорисМеланхолично... А ведь битмапы с альфа-каналом существуют хрен знает с какой древности. Вот чего стоило встроить их поддержку в генофонд, всего то одну функцию при отрисовке заменить и подправить конвертацию из других graphic-ов. так в современных версиях Дельфей вроде как с альфа-каналом в битмапе нету проблем ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 14:43 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
defecator, судя по первому посту есть. Может, конечно, это DE косячит с конвертацией, не проверял. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 14:53 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
defecator, Есть к сожалению. Загрузить в TImageList без искажений в дизайнтайме полупрозрачную иконку невозможно. Даже если загрузить в рантайме, но использовать TButton с иконкой - все равно проблемы - внутри TButton внутренний TImageList, в который немного криво копируются иконки из используемого ImageList. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 15:40 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Пытливый, Я написал эту функцию для получения действительно корректно полупрозрачного битмапа из TImageList, возможно для TcxImageList тоже подойдет: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 15:44 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
errorsoft, В процессе переписывания лишние строчки появились, исправленный вариант: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 15:53 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Спасибо всем откликнувшимся. Прекрасно сработал вариант от Сергея. С ним даже компактнее выходит, битмап не надо создавать промежуточный. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 16:15 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
VCL изначально не умеет нормально работать с альфаканалом. Поэтому пытаться отрисовать таковое средствами канвы чревато. И 32-битный bmp файл - это скорее "борландовское изобретение" стандартные виндовские программы его не понимаю и не используют. Более того я на вскидку не скажу какая программа при сохранении позволит сохранить в bmp с альфаканалом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2016, 23:26 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_nigger, с чего Вы взяли, что 32-битный bmp файл - это скорее "борландовское изобретение"? Поддержка BMP с битностью 1, 2, 4, 8, 16, 24, 32, 48 и 64 интегрирована в операционные системы Windows. Борланд, если что и сделал, то постарался облегчить работу с API-функциями при работе с графикой. Редактировать и сохранять bmp c альфа-каналом можно в различных программах для работы с графикой, например, всем известном, Photoshop. Другое дело, что в обычной программе для просмотра Вы не увидите прозрачности, но это не значит, что ее там нет и ее нельзя использовать в собственных программах. При работе на уровне API Вам все равно придется иметь дело с BITMAP. Однако, по-сути, данный вопрос выходит за рамки этого топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 02:46 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_nigger, Согласен с предидущим коментарием - 32-битный BITMAP это вполне стандартная фича WinApi, другое дело что далеко не все программы его поддерживают. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 06:45 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Сергей Nwhite_nigger, с чего Вы взяли, что 32-битный bmp файл - это скорее "борландовское изобретение"? Поддержка BMP с битностью 1, 2, 4, 8, 16, 24, 32, 48 и 64 интегрирована в операционные системы Windows. BMP c 48 и 64 bpp не бывает, из стандартных форматов такое поддерживают только PNG и DICOM. Что касается 32 bpp, то изначально 4 байт добавлялся только для ускорения, ибо проц. с триадами работает крайне неэффективно. Такой формат назывался BGRX. Потом решили, что глупо держать пустой байт если можно туда запихнуть альфа-канал, получился формат BGRA. Поскольку эти два формата никак не различимы с т.з. метаданных, способ их обработки целиком и полностью определяется софтом - если хочет использовать альфу, рисует через AlphaBlend, не хочет - обычными функциями. И отдельный вопрос - что именно там кодируется: прозрачность или плотность. Тут в GDI и GDI+ мнения расходятся . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 11:58 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский Борис, речь шла об общих принципах поддержки BMP, в том числе и Bits Per Pixel ( https://msdn.microsoft.com/en-us/library/windows/desktop/ee719797(v=vs.85).aspx ). Там есть и 48 и 64. Какая-то у Вас вольная трактовка истории развития формата BMP. Речь, наверное, идет о совместимости GDI и GDI+. Там действительно могут быть проблемы, например, с пропаданием альфа канала. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 13:46 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Сергей N, 48bpp в BMP Native Codec все же нет. но про 64bpp - занятная инфа, если еще и работает как положено)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 14:27 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Сергей NСоколинский Борис, речь шла об общих принципах поддержки BMP, в том числе и Bits Per Pixel ( https://msdn.microsoft.com/en-us/library/windows/desktop/ee719797(v=vs.85).aspx ). Там есть и 48 и 64. Там они может и есть, только в формате BMP их нет. https://msdn.microsoft.com/en-us/library/windows/desktop/dd183391(v=vs.85).aspx Изволите видеть, что и для 4 и для 5 версий на 32 bpp все заканчивается. Также нет их и в описании структуры в памяти https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx Видимо, если они и присутствуют, то в каком-то проприетарном формате, с которым непонятно как следует работать. Сергей N Какая-то у Вас вольная трактовка истории развития формата BMP. За давностью лет, возможно чего-то подзабыл, но вряд ли. В оригинальном описании формата 32bpp четко указано: The high byte in each DWORD is not used. Вместе с тем, из описания функции AlphaBlend следует, что в последнем байте все же можно задавать прозрачность https://msdn.microsoft.com/en-us/library/windows/desktop/dd183393(v=vs.85).aspx Вот такая вот загогулина, понимаешь (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 17:16 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Сергей N, не путайте файл с расширением BMP (о котором я писал) с понятием BITMAP в GDI. В памяти организация может быть различной, но это не значит, что это будет использоваться в файлах один-в-один. Найдите в своей системе 32-битный файлы BMP. Их там не и никогда не было. Потому как эти файлы использовались когда функции AlphaBlend ещё не было в системе. Поэтому и штатное средство, которое работает с BMP файлами ничего не знает о 32-битном BMP. Когда же появилась задача использовать альфа-канал, то начали использовать PNG. Поэтому ещё раз повторю 32-битный формат BMP - искусственный. То что его поддерживает пара программ, ситуацию не меняет. PS: дле невнимательных, слово изобретение у меня было в кавычках. Наивно думать, что в фирме которая разрабатывает визуальные компоненты, не знают об устройстве картинок. И ссылочка, вами приведенная, извините, совсем о другом ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 18:28 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Ещё есть самая лучшая библиотека растровой графики за всё существование Delphi - это Graphics32 http://graphics32.org/wiki/Main/ThirdParty Офигенная, использую с 2001 года. А с персонажем Goodok начинали вместе работать как раз в том же 2001 году над интерфейсов G32 Interface - нам надо было эротично, с антиалиасингом и прочими няшками нарисовать Кремлёвский концертный зал для parter.ru, на который мы вместе пахали за одним столом Там есть и мой говнокод (отрисовка Безье) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 18:35 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
defecatorв том же 2001 году над интерфейсов G32 Interface - нам надо было эротично, с антиалиасингом и прочими няшками нарисоватьпочему GDI+ не использовали, которая как раз тогда же (?) и вышла с Windows XP? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 18:41 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский БорисИзволите видеть, что и для 4 и для 5 версий на 32 bpp все заканчивается.если точнее - 32 битами заканчивается поддержка битмапов в GDI, к которой и относятся эти bitmap header'ы ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 18:50 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
fd00chdefecatorв том же 2001 году над интерфейсов G32 Interface - нам надо было эротично, с антиалиасингом и прочими няшками нарисоватьпочему GDI+ не использовали, которая как раз тогда же (?) и вышла с Windows XP? :-) Ну, наверное, потому, что не знали про неё, зато хорошо знали про G32 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 18:57 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Самый большой плюс и одновременно минус GDI+ это софтварная реализация всего. С одной стороны отвязка от специфики графических карт, с другой тормоза по сравнению с pure-GDI ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:13 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_nigger, как и у G32)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:31 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
fd00chwhite_nigger, как и у G32)) Ну конечно ! Только G32 работает предсказуемо, и код доступен всем и каждому. В отличие от ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:33 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
И работает сильно быстрей чем этот самый GDI+. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:38 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
defecatorТолько G32 работает предсказуемо, и код доступен всем и каждому. В отличие отА в чём непредсказуемость GDI+? В целом работает без проблем. Навскидку могу сказать, что нельзя в инициализации DLL использовать. Что автоматом должно учитываться для пакетов делфи BPL ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:40 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_niggerdefecatorТолько G32 работает предсказуемо, и код доступен всем и каждому. В отличие отА в чём непредсказуемость GDI+? В целом работает без проблем. в том, что в код нельзя посмотреть. В очередной инкарнации что-то поменяется из разряда "а сейчас мы истинно работаем через аппаратное ускорение !", а потом окажется, что список этого самого ускорения работает на ограниченном списке драйверов. Насчёт кода - это кому как. Я предпочитаю с исходным кодом, мне так понятнее, как что работает ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:47 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_niggerА в чём непредсказуемость GDI+? В целом работает без проблем.помог бы тогда asviridenkov нормально выводить текст с поддержкой ClearType)) интересно, получится ли хотя бы в теории на G32 его либу перевести? думаю, что озвученный "плюс"defecatorкод доступен всем и каждому.трансформируется в "допиши сам то, чего не хватает" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:49 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatИ работает сильно быстрей чем этот самый GDI+. Нашел с чем сравнивать. Вот любопытно сделать замер на скорость отрисовки. К примеру, GDI рисует картинку 2048x2048x24bpp в масштабе 2:1 ~30 мс. Кто быстрее? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:50 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
fd00chтрансформируется в "допиши сам то, чего не хватает" Ну да, две разные парадигмы. Либо так, либо "[вози]ись как хочешь с тем что есть". ;) Но тут есть нюанс: имхо в GR32 фишек больше чем в GDI+ "прямо из коробки". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:52 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
fd00chпомог бы тогда asviridenkov нормально выводить текст с поддержкой ClearType))Он и сам вроде справляется. К тому же я не помню какие там были проблемы ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:53 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский БорисК примеру, GDI рисует картинку 2048x2048x24bpp в масштабе 2:1 ~30 мс.GDI самый быстрый, без вариантов. Разве что Direct2D кое в чем быстрей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:53 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatСоколинский БорисК примеру, GDI рисует картинку 2048x2048x24bpp в масштабе 2:1 ~30 мс.GDI самый быстрый, без вариантов. варианты есть - в фичах ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 19:56 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_niggerОн и сам вроде справляется. К тому же я не помню какие там были проблемыс тем, что я описал - не справляется. говорит, врожденное уродство и лечению не подлежит(( *на малых размерах шрифта, на крупных еще более-менее смотрибельно rgreatимхо в GR32 фишек больше чем в GDI+ "прямо из коробки".отрисовка путей/полигонов/регионов/эллипсов/секторов/кривых, сложные кисти (градиентные, с bitmap-подложкой), пространственные преобразования там есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:02 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatGDI самый быстрый, без вариантов. Да вот нифига. Я почему спрашиваю: у меня в/камера с таким разрешением дает 80 fps, и оригинальный софт успевает отрисовать почти все. Т.е ~2.5 раза быстрее GDI. ХЗ на чем там сделано, но это факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:03 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
white_niggerdefecatorТолько G32 работает предсказуемо, и код доступен всем и каждому. В отличие отА в чём непредсказуемость GDI+? В целом работает без проблем. Навскидку могу сказать, что нельзя в инициализации DLL использовать В DLL можно, если аккуратно. Проблема в пересчете координат, последняя строка/столбец может пропускаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:05 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский БорисХЗ на чем там сделаном.б. он на этапе декодирования хитрит, по аналогии с jpeg?)) или DirectX/OpenGL используется, т.е. другая весовая категория ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:06 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
defecator, Это уже не "быстрый" а "функциональный". P.S. Делал как-то канвасик умеющий работать одним интерфейсом опционально через GDI, CGI+, GR32 и Direct2D. Вот тестилка: http://rghost.net/7LCqH2ywx ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:07 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
fd00chwhite_niggerОн и сам вроде справляется. К тому же я не помню какие там были проблемыс тем, что я описал - не справляется. говорит, врожденное уродство и лечению не подлежит(( *на малых размерах шрифта, на крупных еще более-менее смотрибельно rgreatимхо в GR32 фишек больше чем в GDI+ "прямо из коробки".отрисовка путей/полигонов/регионов/эллипсов/секторов/кривых, сложные кисти (градиентные, с bitmap-подложкой), пространственные преобразования там есть? есть ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:08 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
fd00chСоколинский БорисХЗ на чем там сделаном.б. он на этапе декодирования хитрит, по аналогии с jpeg?)) или DirectX/OpenGL используется, т.е. другая весовая категория Там не jpeg, там баейровский (RAW) формат. Преобразование в RGB через IPP, раскидано по потокам ~5 мс. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:10 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatdefecator, P.S. Делал как-то канвасик умеющий работать одним интерфейсом опционально через GDI, CGI+, GR32 и Direct2D. Вот тестилка: http://rghost.net/7LCqH2ywx Исходник можешь выложить? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:12 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatdefecator, Это уже не "быстрый" а "функциональный". P.S. Делал как-то канвасик умеющий работать одним интерфейсом опционально через GDI, CGI+, GR32 и Direct2D. Вот тестилка: http://rghost.net/7LCqH2ywx запустил. На первом месте GDI+, на втором GR32. (у меня нет полноценного ускорителя, всё на встроенной графике Intel, которая тоже вроде как ускоритель) Я не настаиваю на своей правоте типа "G32 навсегда". G32 чисто софтверный, но он предсказуемый - никакой мелкософт не скажет, что вот с этой версии GDI+ работает иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:13 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский Борисrgreatdefecator, P.S. Делал как-то канвасик умеющий работать одним интерфейсом опционально через GDI, CGI+, GR32 и Direct2D. Вот тестилка: http://rghost.net/7LCqH2ywx Исходник можешь выложить? плюсую к вопросу. Затестю на нынешней G32 )) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:14 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский БорисИсходник можешь выложить? Блин, пришлось поискать и заставить работать. http://rghost.net/8f2CBPBcy Строго не судите. Это были "игры для ума" под свою задачу. Для полноценного бенча разных систем все равно не годиться, ибо между рендерами и бенчем стоит далеко не оптимальная прослойка. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 20:43 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatДля полноценного бенча разных систем все равно не годиться, ибо между рендерами и бенчем стоит далеко не оптимальная прослойка. Ну да. Все не смотрел, но для растров время явно неправильно считается. Их нужно прямо на экран рендерить, иначе ускорители нифига не задействуются. Остального это тоже касается. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 22:09 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreat, Забыл сказать спасибо Может доточу как-нибудь, когда время будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 22:10 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский Борис, там есть переключатель "использовать буфер / малевать на экране" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 22:47 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский Борисrgreat, Забыл сказать спасибо Может доточу как-нибудь, когда время будет. Выложи как допилишь. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 17:23 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Соколинский БорисВсе не смотрел, но для растров время явно неправильно считается. Их нужно прямо на экран рендерить, иначе ускорители нифига не задействуются.Рендер на экран - это весьма частный случай использования графических библиотек. Не комильфо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 20:39 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
rgreatРендер на экран - это весьма частный случай использования графических библиотек. Не комильфо. Очень даже комильфо если нужна скорость (а мы, собственно, о ней речь ведем). Помимо ускорения алгоритма отрисовки, еще будет существенное ускорение когда нужно прорисовать только невалидный фрагмент. Можно, конечно, его и в буфере учитывать, но сильно сомневаюсь, что кто-нибудь это делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 21:41 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Direct2D учитывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 21:42 |
|
Почему происходит искажение глифа при вставке в канву?
|
|||
---|---|---|---|
#18+
Подниму тему. Новую не хочется создавать. Есть проект на XE8 - считывает иконки из базы в TImsgeList. Получаемая картинка с тулбаром и простой код ниже Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Все работает без артефактов с полной прозрачностью. Собрал проект на Rio - полезли артефакты связанные скорее всего с прозрачностью. Попробовал иконку копировать в TBitmap через код содранный из ImgEdit.pas Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Но слабо заметные контурные артефакты белого цвета остались. Полной прозрачности как на XE8 нет... Кто что посоветует ? Приложенная картинка из Rio и с начальным кодом. Если код с NewBitmap - только легкая белая окантовка в некоторых местах иконок. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 13:14 |
|
|
start [/forum/topic.php?all=1&fid=58&tid=2036799]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 182ms |
0 / 0 |