سلام به همه ی دوستان
من میخواستم با استفاده از کامپوننت axShockwaveFlash از یکی از فریم های فایل فلش عکس بگیرم و اونو در یک پیکچر باکس نشون بدم!
دوستان کسی میتونه کمکم کنه؟
ممنون از همه
سلام به همه ی دوستان
من میخواستم با استفاده از کامپوننت axShockwaveFlash از یکی از فریم های فایل فلش عکس بگیرم و اونو در یک پیکچر باکس نشون بدم!
دوستان کسی میتونه کمکم کنه؟
ممنون از همه
يعني چي؟تو برنامه عكس بگيري؟
يه نرم افزارهست swf2xaml تمام فريمارو بهت ميده ولي به xaml!
ممنون از جوابتون...
من میخوام فایل فلش رو به صورت فریم به فریم داخل یک پیکچر باکس بزارم و یک پردازشی روش انجام بدم...(داخل خود محیط نرم افزارم)
ممنون از جوابتون
يكسري توابع هستن براي عكس گرفت از فرم و كنترل ها.
شما ميتوني توي يك تايمر كه با تايمر فلشت هماهنگ هست ازش عكس بگيري.
توابع براي عكس گرفتن زيادن اگر خواستي بگو لينك بدم بهت.
البته يه سوال بعد از تغييرات مي ميخواي چيكارشون كني؟؟؟!!!
این طور کاربردی نیست که از صفحه عکس بگیرم! به قول ما الکترونیکی ها نویز میاد روش بعد برای پردازشش مشکل پیش میاد و دردسره!
بچه ها با این کامپوننتی که معرفی کردم این کار رو کرده بودند ولی نمیدونم چطور...
قراره عکس ها رو به کد هگز تبدیل کنم و بعد هم برای کارهای الکترونیکی استفاده کنمالبته يه سوال بعد از تغييرات مي ميخواي چيكارشون كني؟؟؟!!!
ممنون از جوابتون
برا منم جالب شد.يكمم تو متداي اين axshockwave گشتم چيزي كه به درد كار شما بخوره نديدم.مطمئني اين كارو ميكنه؟!
حالا اگر پيدا كردي به مام بگو.
بعد اگر پرو ژه اي نيست كه حتما winapp باشه حتما برو باwpf كار كن.اونجا خيلي راحت تر كارتو انجام ميده.
بعد يه سوال چرا swf?!ببخشيد من اينقد سوال ميپرسما!!!
اينم يه چكي كن:
http://www.codeproject.com/KB/graphi...ecompiler.aspx
دلیلم برای استفاده از SWF ، شرایط کار هست...یعنی صورت مسئله اینه که از فایل های SWF استفاده کنم
در اینکه از این استفاده کرده بودند که مطمئنم!
یکی از بچه ها با دلفی نوشته بود....یه کد کوچیک هم ازش داد ... من از دلفی سر در نمیارم!
شما میتونید کمکم کنید؟
ShockwaveFlash1.PaintTo(bmp.Canvas.Handle,0,0);
اين كامپوننته كه چيزي شبيه paintto نداشت.ولي من يه چكي ميكنم.اگر بتونم حتما.
یه سوال هم در مورد صحبت اولتون دارم
به نظر شما میتونم موقعیت فایل فلش رو در صفحه ی کامپیوتر پیدا کنم ؟
منظورم اینکه که بعد از عکس گرفتن از کجا بفهمم موقعیت فایل فلش کجاست ؟ چون امکان داره کاربر صفحه رو بزرگ کنه یا موقعیتش رو عوض کنه یا ...
اگه میشه تابع هایی که گفتید از صفحه عکس میگره رو هم بزارید...
اگه یه راهنمایی هم برای اینکه یک تیکه از عکس (همون قسمتی که عکس فلش هست) رو چطور از عکس که گرفتم رو جدا کنم ممنون میشم
ممنون از راهنمائیتون
توابعي كه عكس ميگيرند يك handle از كنترلي كه بايد ازش عكس بگيريد كه اينجا shockwave هست رو ميگيرن و از همون كنترل عكس ميگيرن.يعني شما از صفحه عكس نميگيريد از كنترلتون عكس ميگيريد كه باز توي اون هم مي تونيد انتخاب كنيد كه فقط از يك قسمتي از محتواي كنترل عكس بگيره.
لينكاش رو هم مي ذارم.سوالي در موردشون داشتيد در خدمتم.
موفق باشيد.
سلام
خیلی خیلی خیلی ممنون
من کد ها رو به شکل زیر در آوردم
private Bitmap bitblt_function()
{
System.IntPtr srcDC = GetDC(this.axShockwaveFlash1.Handle);
bm = new Bitmap(this.axShockwaveFlash1.Width, this.axShockwaveFlash1.Height);
Graphics g = Graphics.FromImage(bm);
System.IntPtr bmDC = g.GetHdc();
BitBlt(bmDC, 0, 0, bm.Width, bm.Height, srcDC, 0, 0, 0x00CC0020 /*SRCCOPY*/);
ReleaseDC(this.axShockwaveFlash1.Handle, srcDC);
g.ReleaseHdc(bmDC);
g.Dispose();
return bm;
}
ولی نمیدونم خط زیر رو کجای کد هام بزارم(خوب الکترونیکیم رشتم نیست دیگه )
[DllImport("gdi32.dll")]
اگر بزارم بالای همه ی کدها(همون جایی که using ها هست) خطای زیر رو میده:
Error 1 Expected class, delegate, enum, interface, or struct
پروژم رو اتچ میکنم بی زحمت یه نگاهی بندازید ببینید میتونید کمک کنید...
خیلی ممنون
سلام
برات درستش كردم.اميدوارم كارتو راه بندازه.اويplay كن بعد capture بزن حالشو ببر.
آخرین ویرایش به وسیله mahboube : شنبه 22 آبان 1389 در 14:44 عصر
ببخشید این مشکل رو چجوری می شه حل کرد ؟
1.JPG
اين به خاطر تابع bitblt هست.چون توي طول و عرض كنترلي كه هندلش شده از هرچي باشه عكس ميگيره)كه الان نمي دونم چطوري ميشه حلش كرد.ولي براي عكس گرفتن از تابع printwindow مي تونيد استفاده كنيد.
البته من فكر ميكنم همين تابع هم درست عمل ميكنه ولي من الان خاطرم نيست!
سلام.
با تشکر از پیگیری شما.
این روش، روش خوبیه. اما 2 تا ایراد مهم داره. اولیش اینه که سرعت رندر رو پایین میاره. و دوم اینکه برنامه باید حتماً maximaize باشه. بعنوان مثال اگه یه برنامه دیگه روی این کنترل قرار بگیره یا minimize بشه دیگه نمیشه باهاش کار کرد.
من تونستم با دلفی این مشکلو حل کنم (همانطور که دوستمون گفت) اما توی محیط NET. نشد کاری کرد. من میدونم که باید از توابع api استفاده کرد، اما خوب توی #C مهارت آنچنانی ندارم. اگه این تایپیک رو ادامه بدین قطعاً این مشکل حل میشه.
موفق باشید.
من دقيقا نفهميدم مشكلو!ولي سرعت رندر رو نمي دونم دقيقاچي كار ميشه كرد واصلا پايين مياره يا نه ولي براي Minimize ها راهش اينه:
https://barnamenevis.org/showthread.php?t=251021
البته در مورد taskmanager روي تمام پنجره ها قرا ميگيره.كه بايد با كد جابجاش كرد احتمالا.شايدم تابع printwindow مشكلشو حل كنه.بعدا وقت كنم چكش ميكنم.
سلام.
من تابعی میخوام که از هر کنترلی عکس بگیره. چه روی صفحه نمایش باشه و چه نباشه.
مثلاً فرض کنید یه انیمیشن درحال اجراشدن هست و من میخوام اونو رندر کنم. با این برنامه در صورتی میشه اینکارو کرد که این انیمیشن در صفحه نمایش باشه. یعنی در زمان رندر نباید نرم افزار رو minimize کرد یا یه پنجره دیگه روی اون قرار داد. دلیلش هم اینه که از صفحه نمایش عکس میگره (فکر کنم). اما اون تابعی که من در دلفی نوشتم در هر حالتی کارشو میکنه.
حالا یه سوال دیگه. آیا میشه من این قسمت برنامه رو با دلفی بنویسم و اونو dll کنم و در #C استفاده کنم. (البته میتونم این قسمت رو توی دلفی 2010 بنیسم و تحت NET. کامپایل کنم.)
بهر حال می خوام یه جورایی این مشکل رو حل کنم.
ممنون از پیگیری هاتون.
بسمه تعالی
با سلام
کامپوننت f-in-box رو تست کنید تابعی برای گرفتن عکس از فریم های فلش داشت
سلام.
فکر کنم این مشکلو حل کنه، اما خیلی خفن بود!!!!براي Minimize ها راهش اينه:
https://barnamenevis.org/showthread.php?t=251021
اگه ممکنه خلاصش کنین و بذارید. یعنی بیاد هندل یه کنترل (مثلاً کنترل فلش یا هر چیز دیگه ای) رو روی فرم خودش بگیره و توی picturebox نشون بده.
خیلی خیلی ممنون.
باشه.ولي الان وقت ندارم.شب ميذارمش.
فقط فعلا همينو بگم كه سيستمش اينه كه فرم رو باحالت ترنسپرنت باز ميكنه،ازش عكس ميكنه و مينيمايز ميكنه.چون فرمي كه مينيمايز شده توي حافظه ي كارت گرافيك وجود نداره كه ازش عكس بگيره.
اينو ساده ترش كردم.شما اگه خواستي استفاده كني سه تا كلاسو add كن.(نفهميديشون هم مهم نيست).
بعد استفاده كردن ازشم راحته.نمونشو گذاشتم.ببخشيد وقت نشد زياد توضيحش بدم.ولي اگر تو استفاده ازش مشكل داشتي در خدمتم.
موفق باشي.
سلام
واقعاً ممنون. امشب حتماً تستش می کنم.
موفق باشید.
بسمه تعالی
با سلام
ذخیره فریم های فلش به عنوان تصویر به سادگی توسط f-in-box شدنیه
این هم مثالش