Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2008, 18:04   #1
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию Работа с Paint

На форме имеется image к примеру разрешением 100 на 100 пикселей.
хотелось бы открыть его програмно в стандартном редакторе paint изменить и при закрытии Painta рисунок автоматически вернулся обратно в image.
devi409 вне форума Ответить с цитированием
Старый 17.12.2008, 18:48   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

запускаешь paint, ждёшь когда он завершится потом снова подгружаешь рисунок в Image. Вот только какая гарантия того что пользователь сохранит его под старым именем
rpy3uH вне форума Ответить с цитированием
Старый 17.12.2008, 18:55   #3
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

хм... дык сам то прикол в том что рисунок первоначально хранится в image. а не в файле.
devi409 вне форума Ответить с цитированием
Старый 17.12.2008, 20:24   #4
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Поставь хук на запуск приложений, если запускается пеинт, то сохраняй картинку из имеиджа на диск, как пеинт закроется загружай картинку и удаляй. Может даже можно передать пеинту налету картинку.
Zeraim вне форума Ответить с цитированием
Старый 17.12.2008, 21:59   #5
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

Дык а как это все програмно то реализовать?
желательно передать картинку на лету если нет решения то покажите как через файл.
Только что бы в пайнте не надо было лезть в меню и открывать файл с рисунком.
Надо чтобы пайнт запустился а там уже рисунок который готов к исправлению.
devi409 вне форума Ответить с цитированием
Старый 18.12.2008, 08:52   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от devi409 Посмотреть сообщение
хм... дык сам то прикол в том что рисунок первоначально хранится в image. а не в файле.
сохрани рисунок из Image в файл (Image1.Picture.SaveToFile), запусти Paint (CreateProcess), жди когда он завершится (WaitForSingleObject), снова загрузи рисунок в Image (Image1.Picture.LoadFromFile)
rpy3uH вне форума Ответить с цитированием
Старый 18.12.2008, 16:47   #7
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

Ну алгоритм и я знаю
1. выгрузить в файл (Image1.Picture.SaveToFile)
2. Запустить paint (CreateProcess)
3. Открыть в Paint рисунок (НЕ ЗНАЮ ТАКУЮ ПРОЦЕДУРУ, ПОДСКАЖИТЕ)
4. Само непосредственное редактирование (никаких процедур не надо)
5. При закрытии окна отлавливаем его (WaitForSingleObject)
6. Сохраняем изображение из paint в файл (ТОЖЕ НЕ ЗНАЮ ТАКУЮ ПРОЦЕДУРУ, ПОДСКАЖИТЕ)
7. Загружаем из файла рисунок (Image1.Picture.LoadFromFile)

и всего лишь нужно ответить на пункты 3 и 6.
devi409 вне форума Ответить с цитированием
Старый 18.12.2008, 18:08   #8
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Чтобы открыть в Paint рисунок, надо просто при создании процесса передать путь к рисунку через командную строку
например:
c:\windows\system32\mspaint.exe "C:\WINDOWS\Ablum Wallpaper.bmp"
заставить Paint сохранить файл невозможно пользователь должен сам сохранить его (хотя всё возможно...)
После запуска процесса надо сразу вызвать WaitForSingleObject, она вернёт управление после завершения процесса mspaint.exe
rpy3uH вне форума Ответить с цитированием
Старый 18.12.2008, 18:17   #9
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

непонятно, зачем так извращаться. заюзай cxImage и жми. если не хочешь длл таскать, заюзай gdi+
vvviperrr вне форума Ответить с цитированием
Старый 18.12.2008, 18:51   #10
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

хорошо посмотрим.
я думал может как нить можно открыть pain и попробовать записать в него рисунок... посмотрим что можно будет сделать...
заранее спасибо.
devi409 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Paint Артэс Win Api 4 30.11.2008 02:09
Типа Paint Neba Общие вопросы Delphi 1 26.11.2008 23:41
paint ben95 Общие вопросы Delphi 1 30.03.2008 09:27
Отмена прорисовки линии в Paint пр. кн. мыши. Как? Помогите!!! AnthyShock Помощь студентам 1 23.03.2007 18:51