PDA

View Full Version : مشکل در کار با پوشه ی فارسی در سی شارپ



alireza6725
چهارشنبه 01 مرداد 1393, 07:57 صبح
سلام خدمت همه ی عزیزان
من به یه مشکل اساسی خوردم نمیدونم چیکار کنم
توی یه برنامه میخوام یه فایل عکس رو با نرم افزار فوتوشاپ باز کنم
اما از اونجاییکه این فایل عکس درون یه پوشه ی فارسیه ،نرم افزار فوتوشاپ نمیتونه این فایل رو باز کنه
همه ی مشکل سر حرف <ی> هست ،با روشهایی جایگزین میکنم اما باز هم نمیشه
اگه کسی میتونه کمکم کنه،این لطف رو در حق من بکنه
واقعا ممنون میشم
:ناراحت:

juza66
چهارشنبه 01 مرداد 1393, 08:12 صبح
برنامه مدیریت عکس نوشتید آیا:!

کد رو بذارید شاید کمک کنم: بنظرم از سیستم عامل باشد (بنده هم در ویندوز 8 با این مشکل دسته و پنجه نرم کردم ولی از موقعی که ویندوز 8.1 رو نصب کردم این مشکل دیگه برام پیش نیومده)

alireza6725
چهارشنبه 01 مرداد 1393, 08:16 صبح
از این کد ها برای لود عکس استفاده میکنم
1:ApplicationClass app = new ApplicationClass();
app.DisplayDialogs = Photoshop.PsDialogModes.psDisplayNoDialogs;

app.Load(PATH);
یا
2:
//ProcessStartInfo info = new ProcessStartInfo(Temp.programpath);
//info.CreateNoWindow = false;
//info.Arguments = PATH;
//Process.Start(info);

alireza6725
چهارشنبه 01 مرداد 1393, 08:17 صبح
آره مدیریت عکسه برا یه عکاسی

juza66
چهارشنبه 01 مرداد 1393, 08:48 صبح
شما تونستید با تغییر نام پوشه فایل PSD رو تویی فتوشاپ بازکنید؟! با این کدی که گذاشتید؟!

ببین این سایت میتونه کمکت کنه (یه راه حل دیگه داره)
http://lonerobot.net/?p=374

juza66
چهارشنبه 01 مرداد 1393, 08:57 صبح
// check for document has length
if(app.documents.length &gt; 0)
{
// original code by Filip Van Tendeloo
// as cited in the article at:
// http://coding.smashingmagazine.com/2012/04/11/css-sprites-revisited/

// get active document
var psDoc = app.activeDocument;

// get user input on column count
var colWidth = parseFloat( prompt("Column size?", 60.0) );
var docWidth = psDoc.width;
// determine number of columns
var colCount = docWidth / colWidth;

// create vertical guidelines
for(i = 0; i < colCount; ++i)
{
psDoc.guides.add(Direction.VERTICAL, i * colWidth);
}

// extensions to Filip Van Tendelo's original script by Bill Woodruff:

// get user input on row count
var rowHeight = parseFloat( prompt("Row size?", 60.0) );
var docHeight = psDoc.height;
// determine number of rows
var rowCount = docHeight / rowHeight;

// create rows
for(i = 0; i < rowCount; ++i)
{
psDoc.guides.add(Direction.HORIZONTAL, i * rowHeight);
}
}



یا






ApplicationClass app = new ApplicationClass();

var doc = app.Open(orig);

app.DoAction(action, group);

var options = new BMPSaveOptions();

doc.SaveAs(target, options, true, PsExtensionType.psLowercase);

doc.Close(PsSaveOptions.psDoNotSaveChanges);

juza66
چهارشنبه 01 مرداد 1393, 08:59 صبح
How To Run a Photoshop From C#‎‎‎‎

Here's our goal:


[*=left]Open an image in Photoshop
[*=left]Run an action to filter the image
[*=left]Save the new image somewhere new
[*=left]Close the image


Step 1) Install Photoshop & Visual Studio

Really, if you clicked on an article called "Automating Photoshop With C#‎‎‎‎" then you've probably got step 1 done. The only real bit of information here is that I don't know of any way to do Photoshop automation without it installed.

So if you need to run the automation on a different computer (like a server), then you'll have to install Photoshop

Step 2) Cut a Hole...

Wait, wrong algorithm.

Step 2) Reference the Photoshop Assemblies

Bust open your Visual Studio solution, right-click your project, and choose "Add Reference...".

Choose the COM tab, then choose the following & click "OK".

Adobe Photoshop CS5 Object Library

Adobe Photoshop CS5 Type Library

You might have CS3 or CS4 if you're behind the times. You may also have a braided belt.

Step 3) Copy & Paste My Code

public static void RunAction(string orig, string target, string action, string group)



ApplicationClass app = new ApplicationClass();
var doc = app.Open(orig);
app.DoAction(action, group);
var options = new BMPSaveOptions();
doc.SaveAs(target, options, true, PsExtensionType.psLowercase);
doc.Close(PsSaveOptions.psDoNotSaveChanges);



Step 4) Execute the Code

Here's how I run the code:





@"C:\Projects\TestPhotoshop\TestPhotoshop\bin\Debug\ original.bmp",
@"C:\Projects\TestPhotoshop\TestPhotoshop\bin\Debug\ new.bmp",
"Sepia",
"Default");

alireza6725
پنج شنبه 02 مرداد 1393, 06:55 صبح
از همه ممنون ،ولی این کدها فقط در صورتی جواب میده که تصویر در پوشه ی انگلیسی باشه
اگه در یه پوشه ی فارسی باشه که دارای حرف <<ی>> باشه کار نمیکنه
حالا چی کار کنم؟
:متفکر: