نمایش نتایج 1 تا 4 از 4

نام تاپیک: تبدیل کنترل WPF به WindowsApplication

  1. #1
    کاربر دائمی آواتار ahrimaneahurai
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران
    پست
    554

    تبدیل کنترل WPF به WindowsApplication

    سلام دوستان.
    من دنبال یه کدی بدوم که بتونم باهاش عکس های 3 بعدی مثل Streetview گوگل داشته باشم. برای برنامه های ویندوزی چیزی پیدا نکردم. فقط این برنامه بود که با WPF نوشته شده بود. از کلاس PanoromaViewer یک کنترل ساخته بود و گذاشته بود توی فایل Xaml. من یه کارایی کردم اما نتونستم تبدیل به کنترل برای برنامه های ویندوزیش کنم. ممنون میشم کمک کنید.
    اصراری که به استفاده از این برنامه دارم اینه که چون با WPF نوشته شده حالت 3 بعدی داره اما برای برنامه های ویندوزی به این دقت نبود و بیشتر شبیه Image viewer بود.
    اگر هم برای برنامه های ویندوزی چیزی به این دقت سراغ دارید ممنون میشم معرفی کنید
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg zxc.jpg‏ (96.4 کیلوبایت, 64 دیدار)
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: تبدیل کنترل WPF به WindowsApplication

    سلام
    برنامه رو برای شما به این شکل وارد WindowsApplication کردم
    بجای Window از یک UserControl استفاده کردم
    و کل Solution رو در برنامه WindowsApplication اضافه کردم و حالا کنترل ElementHost رو روی فرم اضافه کردم و این UserControlWPF رو بهش معرفی کردم
    شما نیاز نیست برای کار کردن این UserControl هیچ کدی در فرم WindowsApplication بنویسید تمام کد ها در همون UserControl هست(فایل رو ببینید میفهمید چکار کردم)

    فایل ضمیمه رو اجر کنید کمی صبر کنید تا تصویر از اینترنت لود بشه (اینترنت پر سرعت میخواد)و از نتیجه لذت ببرید
    فایل های ضمیمه فایل های ضمیمه

  3. #3
    کاربر دائمی آواتار ahrimaneahurai
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران
    پست
    554

    نقل قول: تبدیل کنترل WPF به WindowsApplication

    ممنون آقای فرزاد.
    خیلی کمک کردید.
    جایی که براشون کار می کنم می خوان خودشون از این تصاویر بسازن.
    فقط سوالی که دارم اینه. چرا توی این برنامه آدم احساس می کنه تصویر عمق داره در صورتی که از چسبوندن چند تا عکس ساده هست و از چه تکنیکی استفاده شده.
    و یه سوال دیگه. اگه بخوام این تصویر رو به 360 در 180 درجه تبدیل کنم چیکار باید بکنم ؟ گوگل الان 360 در 360 در جه هست.
    باز هم ممنون

  4. #4
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: تبدیل کنترل WPF به WindowsApplication

    نقل قول نوشته شده توسط ahrimaneahurai مشاهده تاپیک
    فقط سوالي که دارم اينه. چرا توي اين برنامه آدم احساس مي کنه تصوير عمق داره در صورتي که از چسبوندن چند تا عکس ساده هست و از چه تکنيکي استفاده شده.
    سلام
    اين احساس بخاطر عمقي هست که به تصوير داده شده و اونو به حالت فرورفته در آورده که مربوط به همین کنترل Viewport3D میشه و کد زیر هم مهمه

    private Geometry3D CreateGeometry()
    {
    int tDiv = 64;
    int yDiv = 64;

    double maxTheta = (360.0 / 180.0) * Math.PI;

    double minY = -1.0;

    double maxY = 1.0;

    double dt = maxTheta / tDiv;

    double dy = (maxY - minY) / yDiv;

    MeshGeometry3D mesh = new MeshGeometry3D();

    for(int yi = 0; yi <= yDiv; yi++)

    {

    double y = minY + yi * dy;

    for(int ti = 0; ti <= tDiv; ti++)

    {

    double t = ti * dt;

    mesh.Positions.Add(GetPosition(t, y));

    mesh.Normals.Add(GetNormal(t, y));

    mesh.TextureCoordinates.Add(GetTextureCoordinate(t , y));

    }

    }


    براي مثال شما بجاي 180 در کد بالا بگذاريد 90 و برنامه رو اجرا کنيد يا بگذاريد 360 و ببينيد به چه شکل عمق تصوير عوض ميشه

    ميتونيد minY يا minX رو نصف کنيد و نتيجه رو ببينيد

    البته اين نکته قابل ذکره که اين تصاوير با يک دوربين مخصوص گرفته شده که قابليت تصوير برداري همزمان از 360 درجه رو داره و براي همين به خوبي کنار هم قرار ميگيرن
    شما نميتونيد بريد و از چند زاويه عکس بگيريد و کنار هم قرار بديد و انتظار داشته باشيد اين شکلي بشه!!

    براي قسمت دوم سئوال شما باید محدوده حرکت Camera رو مشخص کنید دوستانی که با 3D در WPF کارکردن بیشتر میتونن کمکتون کنن کدهاش رو باید بررسي کرد و ديد در کدوم قسمت زاويه چرخش تنظيم ميشه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •