PDA

View Full Version : بد لود سدن عکس



arash1718
یک شنبه 08 مهر 1386, 19:32 عصر
من یه دکمه دو حالته ساختم که موس وقتی روش می ره خیلی دیر عکسش عوض میشه (حجمشم 20 کیلو است) و چشمک می زنه! چی کار کنم؟

PC2st
یک شنبه 08 مهر 1386, 20:13 عصر
بستگی داره که چه کدی براش نوشتید؟
اگر بعد از اینکه هر بار مووس روی دکمه میره، عکس رو از hard disk لود میکنید، بهتره که اینکارو نکنید و فقط یکبار عکسها رو از hard disk لود کنید و در هنگام ورود یا خروج مووس، به ترتیب عکسها رو نمایش دهید. مثلا عکسها رو در اشیایی از نوع Image بصورت یک فیلد در کلاس تعریف کنید و هر وقت لازم بود که یک عکس نمایش داده بشه، اون فیلد Image رو برای دکمه انتخاب کنید.

arash1718
دوشنبه 09 مهر 1386, 09:39 صبح
بستگی داره که چه کدی براش نوشتید؟
اگر بعد از اینکه هر بار مووس روی دکمه میره، عکس رو از hard disk لود میکنید، بهتره که اینکارو نکنید و فقط یکبار عکسها رو از hard disk لود کنید و در هنگام ورود یا خروج مووس، به ترتیب عکسها رو نمایش دهید. مثلا عکسها رو در اشیایی از نوع Image بصورت یک فیلد در کلاس تعریف کنید و هر وقت لازم بود که یک عکس نمایش داده بشه، اون فیلد Image رو برای دکمه انتخاب کنید.


این کارو کردم ولی بازم کنده؟؟؟

hassan razavi
دوشنبه 09 مهر 1386, 10:10 صبح
پیشنهاد استفاده از ImageList هست. جواب میگیری ازش

ARA
دوشنبه 09 مهر 1386, 10:17 صبح
معمولا در برنامه های گرافیکی از double buffer استفاده میکنند
در لود فرمت بگذار


SetStyle(ControlStyles.OptimizedDoubleBuffer, true);

hassan razavi
دوشنبه 09 مهر 1386, 10:42 صبح
به این Sample یه نگاهی بیاندازید. شاید کمکتون کنه
http://www.codeproject.com/csharp/DoubleBuffering.asp

arash1718
سه شنبه 10 مهر 1386, 11:09 صبح
به این Sample یه نگاهی بیاندازید. شاید کمکتون کنه
http://www.codeproject.com/csharp/DoubleBuffering.asp


این دستور آخری تاثیری نداشت؟؟؟؟

arash1718
سه شنبه 10 مهر 1386, 21:31 عصر
بچه ها من هنوز مشکلم حل نشده!!!! واقعان کند اجرا میشه!

PC2st
سه شنبه 10 مهر 1386, 22:01 عصر
کدی که برای انجام اینکار نوشتید رو ارائه کنید (کد مختصر)...

+ یک راه دیگر هم کاهش حجم تصاویر هست، عکس رو با فرمت دیگری ذخیره کنید و فشردش کنید تا مثلا حجمش به 10 کلیو بایت برسه (برنامه های مختلف رو برای کاهش حجم امتحان کنید، چون بعضی از آنها، بهتر فشرده سازی میکنن)

hassan razavi
چهارشنبه 11 مهر 1386, 01:34 صبح
اگه موردتون ضروریه فعلا بیاید از یک روش سرخچوستی حلش کنیم :
از 2 تا دکمه با عکس ثابت استفاده کنید و با کلید شدم اولی ، اولی نامرئی و دومی مرئی بشه و بلعکس.
البته فقط یک روش موقت تا مشکلتوم اساسی حل بشه

arash1718
چهارشنبه 11 مهر 1386, 10:15 صبح
اینم نشد . یکی بگه چه جوری از فلش استفاده کنم که این پیغامو نده؟!؟

hassan razavi
چهارشنبه 11 مهر 1386, 13:45 عصر
فایل Flash.ocx که ذر ساخه System32/Macromed/Flash هست را قبلش رجیستر کنید:

regsvr32 c:\Windows\sysytem32\Macromed\Flash\Flash.ocx
حالا اون رو تو قسمت Com components اضافه کنی تا Shokwave Flash Object اضافه شود.
حالا از این Component استفاده کنید

arash1718
چهارشنبه 11 مهر 1386, 18:39 عصر
فایل Flash.ocx که ذر ساخه System32/Macromed/Flash هست را قبلش رجیستر کنید:

regsvr32 c:\Windows\sysytem32\Macromed\Flash\Flash.ocx
حالا اون رو تو قسمت Com components اضافه کنی تا Shokwave Flash Object اضافه شود.
حالا از این Component استفاده کنید

این کارو کردم و این ارور و داد::

hdv212
چهارشنبه 11 مهر 1386, 20:29 عصر
من مشکل شما رو متوجه نشدم، عکس رو میخوای لود کنی یا از flash توی برنامه ت استفاده کنی، اگه مورد دومه که باید flash player روی سیستم نصب باشه، بعد مراحل زیر رو دنبال کن :

1. Right Click On toolbox an select Add/remove items then Go To COM COMPONENTS and tick Shockwave Flash Object and click OK.
2. drag and drop it to your form -> ShockWave Flash Object

Note : when you drag it in your form , an object create as axShockwaveFlash1 and a rectangle appear in form that display flash movie in it.
you should set width and height to fit with your flash movie.

3. then enter this code to playe your flash in axShockwaveFlash1 object ( in your form )

// Get Path of flash
string path = @"d:\Final.swf";
// Load flash in memory
MemoryStream ms = new MemoryStream(path.Length);
// play flash with specified path
axShockwaveFlash1.Movie = path;
axShockwaveFlash1.Play();

در ضمن اگه در قسمت Com Components، اکتیوایکس Shockwave Flash Object رو پیدا نکردی، دنبال MACROMEDIA FLASH FACTORY OBJECT بگرد.