2013-07-29 37 views
1

我一直在嘗試在Tizen原生應用程序中設置背景圖片,但目前爲止尚未成功。 我試圖通過畫布和位圖做同樣的事情,但它不工作,但我沒有得到任何錯誤。如何在Tizen原生應用程序中設置背景圖片

我在窗體的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();  

任何想法可能是什麼問題或任何其他更簡單的方法來做同樣的事情?

謝謝,

+0

我檢查了更多關於這個函數pCanvas-> Show()拋出以下錯誤:E_UNSUPPORTED_OPERATION。 – ani

回答

0

從窗體中使用GetCanvasN()方法。

+0

我使用GetCanvasN()方法得到以下錯誤:在多個基類Subobjects中找到的非靜態成員'GetCanvasN'類型 \t'Tizen :: Ui :: Control': – ani

0

使用的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; 
} 
+0

嗨,它使用OnDraw方法。 ....謝謝 – ani

+0

我在我的項目中有兩種形式:Main&Gamescreen。它的主要工作很好,但爲Gamescreen提供了錯誤:從派生類'Gamescreen'到基類'Tizen :: Ui :: Control'的模糊轉換。出錯了? – ani

0

添加一個名爲「屏幕密度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; 

}