![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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)
| ||