Solved

Handle photoshop plugins with Delphi

Posted on 2000-03-02
21
1,703 Views
Last Modified: 2013-11-18
I want to make a Host Image Processing application using Delphi which can handle Adobe Photoshop plugins.

Is it possible ?

I wonder if you could give me some example... maybe some codes...  ;)
0
Comment
Question by:skycrusher
  • 10
  • 5
  • 2
  • +4
21 Comments
 
LVL 17

Expert Comment

by:inthe
ID: 2577203
listening..
0
 
LVL 4

Expert Comment

by:mhervais
ID: 2577414
listening too
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2577969
I have been looking for this too but did not find any component and the sdk from the PhotoShop CD's is very, very, very old...
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 1

Expert Comment

by:yk030299
ID: 2578775
listen
0
 

Author Comment

by:skycrusher
ID: 2578803
if possible, I don't want to use a component..

regards,
skycrusher
0
 
LVL 11

Expert Comment

by:robert_marquardt
ID: 2579057
That the API is old is no problem. Look at the old filters like KPT which continue to work with new Photoshops.
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 2618090
Listening
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2622628
0
 
LVL 17

Expert Comment

by:inthe
ID: 2622651
nice links mate ;-)

cant believe i had this site in my saved delphi links too..
(well not that page :o)
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2622681
.. I hurt my nose very bad when I bumped into it  :O|
0
 

Author Comment

by:skycrusher
ID: 2623353
where can I find the PhotoShopTypeLibrary_TLB ?

regards,
skycrusher

0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2624745
It's in the Photoshop directory. Not sure if it is the right one.
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2651048
Any success..?
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2671338
0
 

Author Comment

by:skycrusher
ID: 2671880
Adjusted points from 400 to 500
0
 

Author Comment

by:skycrusher
ID: 2671881
I wanna know How to access the
Photoshop plugins using Delphi...

I haven't succes with it ;((
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2679358
Epsylon changed the proposed answer to a comment
0
 
LVL 13

Accepted Solution

by:
Epsylon earned 500 total points
ID: 2679359
Ok, get ready 'coz here we go!

To get the Photoshop type library do the following in Delphi:
- Project Menu > Import Type Library
- Click 'Add' and browser to the Photoshop directory (usually C:\Program Files\Adobe\Photoshop 5.x) and select 'TypeLibrary.tlb'
- Now click on 'Create Unit'
- Save this unit to the project directoy where you want to use it
- In your project add these unit to the uses clause:

uses ComObj, ActiveX, PhotoShopTypeLibrary_TLB;


- To start Photoshop:

  PS: IPhotoShopApplication;
  AppWasRunning: boolean;
  Result: HRESULT;
  Unknown: IUnknown;

  AppWasRunning := False;
  Result := GetActiveObject(CLASS_PhotoshopApplication, nil, Unknown);
  if (Result = MK_E_UNAVAILABLE) then
    PS := CoPhotoshopApplication.Create
  else begin
    { make sure no other error occurred during GetActiveObject }
    OleCheck(Result);
    OleCheck(Unknown.QueryInterface(IPhotoShopApplication, PS));
    AppWasRunning := True;
  end;


- To make it visible:

  PS.Set_Visible(true);


- To stop Photoshop:

  PS.Quit;


- To load and save a picture:

  Pic: IAutoPSDoc;

  Pic := PS.Open('Picture.psd');
  Pic.SaveTo('Picture2.psd');


- To play an action:

  PS.PlayAction('Large Round Button');


- To apply a filter (plugin) to the active picture:

  AC: IActionControl;
  AD: IActionDescriptor;

  AC := PS.MakeControlObject;
  AD := PS.MakeDescriptor;
  AD.PutDouble(phKeyRadius, 10.3);
  AC.Play(phEventGaussianBlur, AD, phDialogSilent);

or

  AC := PS.MakeControlObject;
  AD := PS.MakeDescriptor;
  AD.PutInteger(phKeyAmount, 50);
  AC.Play(phEventSpherize, AD, phDialogSilent);



More info can be found in the SDK document 'Photoshop OLE Automation.pdf'.


Regards,

Epsylon.
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2681520
If you need further help please say so...
0
 

Author Comment

by:skycrusher
ID: 2682206
thank you very much Epsylon...

Although I still have error msg, but I think I'll give the point to you (500)

I'll try to fix it by myself.

Once again thank you..

regards,
skycrusher
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2688172
What error do you get? Or have you already solved it?

Maybe you use another Delphi version...
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
The purpose of this video is to demonstrate how to set up the WordPress backend so that each page automatically generates a Mailchimp signup form in the sidebar. This will be demonstrated using a Windows 8 PC. Tools Used are Photoshop, Awesome…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now