![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет, нужно создать файл PSD состоящий из множества слоев.
Я решил подергать Phoshop через Comobj. Вопрос как вставить картинку, если картинка jpg в буфере??? Код:
psd:=CreateOleObject('Photoshop.application'); psd.open['D:\1.psd']; psd.visible:=true; Должно быть что-то вроде psd.paste(...) или с начало psd.layers.add |
#2
|
||||
|
||||
![]() у
Код:
property ActiveDocument: Document dispid 1883325539; Код:
function Paste(IntoSelection: OleVariant): ArtLayer; dispid 1885434740; Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Пока не получается
|
#4
|
||||
|
||||
![]() что именно?
добавлено позже проверил предложеный способ - работает добавлено еще позже Код:
uses Photoshop_TLB, ComObj, ActiveX, Clipbrd, jpeg, ... var App: _Application; jpeg: TJPEGImage; begin OleInitialize(nil); if not OpenPictureDialog1.Execute then Exit; jpeg:=TJPEGImage.Create; try jpeg.LoadFromFile(OpenPictureDialog1.FileName); Clipboard.Assign(jpeg); finally jpeg.Free; end; App:=CreateComObject(CLASS_Application) as _Application; App.Load('d:\Documents\Создание иконки iPhone\Иконка iPhone.psd'); App.ActiveDocument.Paste(False); end; Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 03.04.2014 в 19:30. |
#5
|
||||
|
||||
![]() Тоже ради интереса попробовал предложеный способ - работает, bro NumLock - +
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
|||
|
|||
![]() ![]() |
#7
|
|||
|
|||
![]() ЗАДАЧА:
1) Есть фон в формате psd. 2) есть Excel с названиями необходимых файлов Программа должна вставлять эти картинки в psd. // отдельным слоем далее дизайнер вручную располагает картинки в Photoshop. Теперь я запускаю это дело в цикл. Я научился вставлять картинки в Photoshop. УРА!. НО вставляет одну и туже картинку. Разумеется? в начале цикла есть: Код:
Clipboard.clear; В Photoshop не отчищается буфер.!! При этом если я заменяю вставку картинки в цикле на вывод месаджа. И сам в Photoshope нажимаю "Paste" то все гуд картинки меняются. Код:
//psd.ActiveDocument.Paste(false); showmessage('Vstavlyai'); Подскажите, как можно решить эту проблему! |
#8
|
||||
|
||||
![]() Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#9
|
|||
|
|||
![]() Спасибо Вам, но увы.
В фотошопе есть функция "Очистить буфер", я задал на нее горячие клавиши, которые потом передавал....Но если я не перехожу между окнами то в буфере фотошопа новая картинка не появляется. |
#10
|
||||
|
||||
![]() Прмт сблзнвн, обидно
![]() Код:
if OpenClipboard(Null) then try EmptyClipboard; finally CloseClipboard; end; Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
draginimp (18.04.2014)
|