|
|
|||||||||||
Разместить IPictureDisp в Picture Box с координатами23.04.2020, 19:16. Показов 7677. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|