|
|
|||||||||||
Разместить IPictureDisp в Picture Box с координатами23.04.2020, 19:16. Показов 7708. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|