Canvas 如何在Tizen原生应用程序中设置背景图像

Canvas 如何在Tizen原生应用程序中设置背景图像,canvas,bitmap,tizen,tizen-native-app,Canvas,Bitmap,Tizen,Tizen Native App,我一直试图在Tizen原生应用程序中设置背景图像,但到目前为止还没有成功。 我也尝试过通过画布和位图做同样的事情,但它不起作用,尽管我没有得到任何错误 我正在表单的初始化函数中使用以下代码 AppResource *pAppResource = Application::GetInstance()->GetAppResource(); Bitmap* pBitmap1 = pAppResource->GetBitmapN(L"image.png"); Canvas *pCan

我一直试图在Tizen原生应用程序中设置背景图像,但到目前为止还没有成功。 我也尝试过通过画布和位图做同样的事情,但它不起作用,尽管我没有得到任何错误

我正在表单的初始化函数中使用以下代码

AppResource *pAppResource = Application::GetInstance()->GetAppResource(); 
Bitmap* pBitmap1 = pAppResource->GetBitmapN(L"image.png");   
Canvas *pCanvas = new Canvas();    
pCanvas->Construct();    
pCanvas->DrawBitmap(Point(0,0), *pBitmap1);   
pCanvas->Show();      
你知道问题是什么吗?或者其他更简单的方法


谢谢,

使用表单中的GetCanvasN方法。

使用OnDraw绘制背景


将名为screen density xhigh的文件夹添加到资源文件夹中,并将图像存储到要设置为应用程序背景的文件夹中。现在将结果类型onDraw函数声明到应用程序头中。现在实现下面这个表单的.cpp文件的代码

 result TizenForm::OnDraw()
  {

    result r = E_UNKNOWN;
    AppResource *pAppResource = Application::GetInstance()->GetAppResource();
    Bitmap* pBitmap1 = pAppResource->GetBitmapN(L"backgroundImage.jpg");
    Canvas* pCanvas = GetCanvasN();
    if (pCanvas != null)
    {
      pCanvas->DrawBitmap(Rectangle(0, 0,720,1280), *pBitmap1);
    }

    return r;

 }

我对此进行了更多检查,函数pCanvas->Show引发了以下错误:E_UNSUPPORTED_操作。我在使用GetCanvasN方法时遇到以下错误:在类型为“Tizen::Ui::Control”的多个基类子对象中找到了非静态成员“GetCanvasN”:我的项目中有两个表单:Main和Gamescreen。对于main来说,它工作正常,但是对于Gamescreen,它给出了一个错误:从派生类“Gamescreen”到基类“Tizen::Ui::Control”的转换不明确。怎么了?
 result TizenForm::OnDraw()
  {

    result r = E_UNKNOWN;
    AppResource *pAppResource = Application::GetInstance()->GetAppResource();
    Bitmap* pBitmap1 = pAppResource->GetBitmapN(L"backgroundImage.jpg");
    Canvas* pCanvas = GetCanvasN();
    if (pCanvas != null)
    {
      pCanvas->DrawBitmap(Rectangle(0, 0,720,1280), *pBitmap1);
    }

    return r;

 }