【问题标题】:How to set background image in Tizen native app如何在 Tizen 原生应用程序中设置背景图像
【发布时间】:2013-07-29 08:41:54
【问题描述】:

我一直在尝试在 Tizen Native 应用程序中设置背景图像,但到目前为止还没有成功。 我尝试通过 Canvas 和 Bitmap 做同样的事情,但它不起作用,虽然我没有收到任何错误。

我在表单的 OnInitializing 函数中使用以下代码。

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();      

知道可能是什么问题或其他更简单的方法吗?

谢谢,

【问题讨论】:

  • 我对此进行了更多检查,函数 pCanvas->Show() 抛出以下错误:E_UNSUPPORTED_OPERATION。

标签: canvas bitmap tizen tizen-native-app


【解决方案1】:

使用表单中的 GetCanvasN() 方法。

【讨论】:

  • 我在使用 GetCanvasN() 方法时遇到以下错误:在“Tizen::Ui::Control”类型的多个基类子对象中发现非静态成员“GetCanvasN”:
【解决方案2】:

使用 OnDraw 绘制背景

result TizenForm::OnDraw()
{
result r=E_SUCCESS;
Canvas* pCanvas;

if (__pFormBitmap)
{
    pCanvas = this->GetCanvasN();
    pCanvas->DrawBitmap(Point(0, 0), *__pFormBitmap);
}
delete pCanvas;
return r;
}

【讨论】:

  • 我的项目中有 2 个表单:主屏幕和游戏屏幕。它对 main 工作正常,但对 Gamescreen 却给出错误:从派生类“Gamescreen”到基类“Tizen::Ui::Control”的模糊转换。有什么问题?
【解决方案3】:

在资源文件夹中添加一个名为“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;

 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-28
    • 2020-04-19
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多