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

نام تاپیک: کار با تصاویر دو بعدی در directx9

  1. #1

    کار با تصاویر دو بعدی در directx9

    سلام
    برای rotate و scale تصاویر دو بعدی ( و نه اشکال) می توان از ماتریسها استفاده کرد , یا به بیان دیگر می توانیم از امکانات directx در این مورد بهره بگیریم یا خیر؟لطفا توضیح دهید.

  2. #2
    بله می توان.

    ممنون علی

  3. #3
    لطفا توضیح دهید
    ممنون از توضیحاتتون! :sunglass:

  4. #4
    سلام
    ID3DXSPRITE اینترفیسی هست که اینکارو انجام میده. میتونه یک Texture رو با یک تبدیل دو بعدی آفین (دوران، انتقال، بزرگنمایی) دلخواه نمایش بده. در مورد نحوه استفاده اش به راهنمای DirectX SDK مراجعه کنید.

    ممنون علی

  5. #5
    اینم یه نمونه:

    void Dxtest2Dlg::Draw( IDirect3DDevice9 *pocDevice )
    {
    D3DXIMAGE_INFO d3dxImageInfo;

    D3DXCreateTextureFromFileEx( pocDevice,
    "fighter.bmp",
    1152,//m_nWidth, // I had to set width manually. D3DPOOL_DEFAULT works for textures but causes problems for D3DXSPRITE.
    216,//m_nHeight, // I had to set height manually. D3DPOOL_DEFAULT works for textures but causes problems for D3DXSPRITE.
    1, // Don't create mip-maps when you plan on using D3DXSPRITE. It throws off the pixel math for sprite animation.
    0, //D3DPOOL_DEFAULT,
    D3DFMT_UNKNOWN,
    D3DPOOL_MANAGED, //D3DPOOL_DEFAULT,
    D3DX_DEFAULT,
    D3DX_DEFAULT,
    D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f),
    &d3dxImageInfo,
    NULL,
    &m_pSpriteTexture );

    D3DXCreateSprite( pocDevice, &m_pD3DXSprite );

    D3DXVECTOR3 vCenter( 0.0f, 0.0f, 0.0f );
    D3DXVECTOR3 vPosition( 0.0f, 0.0f, 0.0f );

    D3DXMATRIX matRotate;
    D3DXVECTOR2 vSpriteCenter( 125, 54 ); ///center of rotation

    //strech 150% and Rotate 5.0 Radian
    D3DXMatrixAffineTransformation2D( &matRotate, 1.5, &vSpriteCenter, 5.0f, NULL );

    m_pD3DXSprite -> Begin( D3DXSPRITE_ALPHABLEND );
    {
    m_pD3DXSprite->SetTransform( &matRotate );
    m_pD3DXSprite->Draw( m_pSpriteTexture,
    CRect( 0, 0, 250, 108 ),
    &vCenter,
    &vPosition,
    D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f) );
    }
    m_pD3DXSprite->End();
    }

  6. #6
    اگه کسی نمونه بهتری نوشته که هر سه مورد رو (دوران، انتقال، بزرگنمایی) رو شامل بشه و بهینه تر هم باشه لطفا ارائه کنه! در نمونه فوق دوران و بزرگنمایی پشتیبانی می شود. :wink:

تاپیک های مشابه

  1. Text در DirectX9
    نوشته شده توسط saffari2005 در بخش طراحی و ساخت بازی‌های کامپیوتری
    پاسخ: 3
    آخرین پست: دوشنبه 09 خرداد 1384, 13:16 عصر

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

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