|
|
|||||||||||
Разместить IPictureDisp в Picture Box с координатами23.04.2020, 19:16. Показов 8541. Ответов 136
Метки нет (Все метки)
Интересно сделать. Если простой возможности нет, придётся использовать невидимый Picture Box.
0
|
|||||||||||
| 23.04.2020, 19:16 | |
|
Ответы с готовыми решениями:
136
Можно ли динамически создавать Picture Box внутри другого Picture Box?
Picture box |
|
|
|||
| 27.04.2020, 17:31 [ТС] | |||
|
Опять сделал Ipicture. Осталось нанести на него в соответствии с координатами и масштабом водяной знак и записать в файл. Тоже самое, полагаю, можно сделать средствами GDI+ с Picture1.Picture. Рисование происходит во втором слое Picture№.Image поэтому, запись Picture1.Picture приводит к записи немодифицированного изображения, а запись Picture1.Image записывает только то, что поместилось в окне. Почитал о GdipDrawImageRect. Точнее, перевёл https://translate.google.ru/ "Для повышения образованности" хочу попробовать использовать функцию для объединения изображений не в Picture1.Image, а в Picture1.Picture. ТОлько не пойму из перевода, сможет ли функция их различить?
0
|
|||
|
Модератор
|
||
| 27.04.2020, 21:18 | ||
|
Ты определись каким именно методом ты собираешься все реализовывать (GDI, GDI+, Direct2D) и что такое водяной знак? Как он накладывается?
Обычно все манипуляции выполняются в памяти, а в окно выводится предпросмотр. Создается растр, который будет содержать финальную картинку, и с ним все манипуляции выполняешь. Как зависит от способа.
0
|
||
|
|
|||
| 27.04.2020, 22:17 [ТС] | |||
|
The trick, взял за предварительную основу ваш код "Rotate".
вы писали:
0
|
|||
|
Модератор
|
|||||||
| 27.04.2020, 22:29 | |||||||
0
|
|||||||
|
|
||||||
| 28.04.2020, 06:39 [ТС] | ||||||
|
Попробовал GDI+
Записал изображение водяного знака, предварительно сделав его фон прозрачным на Form1.Picture1.Picture и затем его сохранил:
Изображение всё-равно записывается в Form1.Picture1.Image и при записи на диск сохраняется без внесённых изменений, т.е. как было . Вечером попробую записать в Ipicture.
0
|
||||||
|
|
||
| 28.04.2020, 06:56 | ||
|
Так ведь формат bmp в принципе не поддерживает прозрачность. Нужен PNG или GIF, как вариант.
0
|
||
|
|
|||
| 28.04.2020, 19:46 [ТС] | |||
|
Попытки "достучаться" до свойства Picture.Picture провалились. Видимо, разработчики не посчитали это нужным. Как я понимаю, в памяти хранится два изображения: загруженное из файла и видимое в окне. Все действия можно производить только с видимым изображением. Загруженное изменить нельзя, т.к. к нему нет доступа. Чтобы работать с растром (модифицировать по усмотрению), необходимо его куда-то записать. Например, в Ipictue или IpictereDisp. Для работы необходимо получить его дескриптор. Пока не получилось. Есть ли нормальные варианты без "плясок возле костра и камланий"?
0
|
|||
|
|
|
| 28.04.2020, 21:31 [ТС] | |
|
Судя по тому, что мне удалось понять на сегодняшний день, в GDI+ нет функции аналогичной BitBlt или я плохо искал.
Функция BitBlt имеет параметр dwRop: "код растровой операции", т.е. эта функция аналог PaintPicture, что мне подходит. Сейчас не получается получить hDC IPicture. Для этого предусмотрено 2 функции: SelectPicture Selects и get_CurDC. Пока не разобрался, как сделать.
0
|
|
|
Модератор
|
|
| 28.04.2020, 21:42 | |
|
Argus19, а растровая операция это необходимость? Просто хочу понять что в итоге хочешь получить? Просто пример приведи изображений. Просто имея небольшой опыт работы с графикой я бы подсказал возможно лучшее решение/API.
0
|
|
|
|
|
| 28.04.2020, 21:52 | |
|
Может что то подобное?
Берём один рисунок, загружаем в первый слой, потом второй загружаем во второй слой, затем сохраняем этот пирог в файл? в итоге такой файл
0
|
|
|
Кормпилятор
|
||
| 29.04.2020, 05:20 | ||
|
Например стандартная библиотека FB(FbGfx) - загружает(но не сохраняет) 32 битные с прозрачностью. Некоторые редакторы могут открыть, вроде PixBuilder и старые фотошопы могут, но точно не скажу, не помню. GIMP раньше мог, сейчас нет. Т.е. данные альфы туда положить можно, всё зависит от того, как их интерпретирует принимающая сторона. Если ей альфа не нужна - эта компонента игнорируется, если нужна - соотв. используется. В принципе 32 бита уже означает, что там альфа. 24 и ниже - нет альфы. Вот курсор например с альфой:
1
|
||
|
|
|||
| 29.04.2020, 05:45 [ТС] | |||
|
Загружаем рисунок, загружаем второй, накладываем его на первый, вращаем, регулируем его местоположение на первом рисунке, яркость прозрачность, резкость , вращаем. При необходимости накладываем маски на всё. И потом:
http://valvelab.al.ru/6p14p-k.htm Если у вас стоит Win XP могу дать портативную версию программы. Она не работает под Win 7 и далее и сайт разработчиков не работает. Все остальные программы, существующие на сегодняшний день, неудобны.
0
|
|||
|
|
|||
| 29.04.2020, 07:12 | |||
|
0
|
|||
|
Модератор
|
||
| 29.04.2020, 14:01 | ||
|
0
|
||
| 29.04.2020, 14:01 | |
|
Picture Box Отображение Picture Box
Инструмент рука в Picture Box Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|