ورود

View Full Version : سوال: ایجاد عکس پس زمینه در حین اجرا



stuprogramer
چهارشنبه 03 شهریور 1389, 12:38 عصر
سلام
میدونم که سوالم ابتدایی است
اما میخوام در حین اجرا با استفاده از کد نویسی(C#‎ )یک عکس برای پشت زمینه یه مثلث که اون هم در حین اجرا ایجاد شده قرار بدم
تو این برنامه یه منشور توسط کد نویسی تو فضای سه بعدی ایجاد میشه بعد میخوام به هر وجهش یه عکس مختلف اختصاص بدم. زیاد سرچ کردم حتی تو فضای دو بعدیشم بهم بگید متشکر میشم


حتما باید فایلمBitmap باشه؟یا هر عکسی رو اول باید Bitmap کنم ؟چجوریBitmap کنم؟
وقتی مسیر عکس رو میدم میگه توDebug پیداش نمی کنم ؟راه حلش چیه ؟چون تو پوشه image برنامم گزاشتمش؟:افسرده:

homan1374
پنج شنبه 04 شهریور 1389, 17:47 عصر
میتونید از Image brush استفاده کنید
اگه میشه کد رو بزاردی تا کمکتون کنم

رضا عربلو
جمعه 05 شهریور 1389, 10:28 صبح
1- خیر. می تواند jpg , png نیز باشد. بقیه فرمت ها رو امتحان نکردم.
شما بایستی پراپرتی background تان را که از نوع brush است را تنظیم کنید مثلاً می توانید از ImageBrush استفاده کنید حالا هر نوع عکسی را می تونید به این iamgeBrush بدید.
مثلاً
<ImageBrush ImageSource="Images\logo.jpg" />
و یا از طریق کد
Rectangle exampleRectangle = new Rectangle();
exampleRectangle.Width = 75;
exampleRectangle.Height = 75;

ImageBrush myBrush = new ImageBrush();
myBrush.ImageSource =
new BitmapImage(new Uri(@"Images\logo.jpg", UriKind.Relative));

exampleRectangle.Fill = myBrush;

2 - شما عکس هایتان را نیز می توانید در اسمبلی ها به صورت embed resources قرار دهید.
می توانید در دیتابیس زخیره کنید.
می توانید به خای مسیر نسبی Images\Logo.jpg مسیر کامل C;\logo.jpg بدهید
و ...

stuprogramer
جمعه 05 شهریور 1389, 16:45 عصر
بسیار ممنونم از دوستان
تو حالت سادش یه اشکال کوچک داشتم که حل شد با کمک دوستان
ولی بازم عکس رو باید تو فولدرDebug دستی کپی کنم وگرنه ایراد میگیره که پیداش نمی کنم نمیدونم مشکل چیه ؟؟؟؟
کدم دقیقا مثل آقای عربلو هست منتها برای چندضلعی ایجادش کردم و بهش point دادم
.................................................. ............................................
حالا تو پروژه اصلیم که توضیح دادم یه منشور هست این کد رو نوشتم ولی اجرا نمی شه



Material material = new DiffuseMaterial( new ImageBrush(new BitmapImage(
new Uri(@"image\Water lilies.jpg", UriKind.Relative))));
GeometryModel3D model = new GeometryModel3D(mesh, material);
Model3DGroup group = new Model3DGroup();
group.Children.Add(model);
.................................................. .................
لازم به ذکر که این قسمتی از کده که وقتی که به پست زمینه مثلث ها رنگ میدم درست اجرا می شه

Material material = new DiffuseMaterial(new SolidColorBrush(Colors.DarkRed));
GeometryModel3D model = new GeometryModel3D(mesh, material);
Model3DGroup group = new Model3DGroup();
group.Children.Add(model);