
Jaiel
Dauer-User
- 235
Hi ich habe mal wieder ein kleines problem:
und zwar habe ich folgenden code in meiner surfaceview:
wie man sieht möchte ich ein Bitmap hochskalieren damit er den gesamten Bildschirm füllt(es sit im LAndscapemodus deswegen getWidth()).
Den code zum Skalieren hab ich mir aus einem Forum kopiert aber der ist in Ordnung soweit.
Das Problem ist dass das bitmap immer noch unskaliert angezeigt wird obwohl diese Lösung für viele scheinbar klappt nur nciht bei mir!
Hat jemand eine Ahnung?
Der ursprüngliche Beitrag von 13:15 Uhr wurde um 13:20 Uhr ergänzt:
Hab jetzt den Code etwas verkleinert weil diese skalierung irgednwie dumm war von denen :
da steht jetzt statt:
folgendes:
und zwar habe ich folgenden code in meiner surfaceview:
Code:
public void doDraw()
{
Bitmap bmp=BitmapFactory.decodeResource(getResources(),R.drawable.splashscreen);
float scale = (float)bmp.getHeight()/(float)getHeight();
int newWidth = Math.round(bmp.getWidth()/scale);
int newHeight = Math.round(bmp.getHeight()/scale);
Bitmap sbmp = Bitmap.createScaledBitmap(bmp, newWidth, newHeight, true);
try
{
canvas = sHolder.lockCanvas();
synchronized(sHolder)
{
canvas.drawBitmap(sbmp, 0, 0, null);
}
}
catch(Throwable t)
{
canvas=null;
}
finally
{
if(canvas!= null)
{
sHolder.unlockCanvasAndPost(canvas);
}
}
}
wie man sieht möchte ich ein Bitmap hochskalieren damit er den gesamten Bildschirm füllt(es sit im LAndscapemodus deswegen getWidth()).
Den code zum Skalieren hab ich mir aus einem Forum kopiert aber der ist in Ordnung soweit.
Das Problem ist dass das bitmap immer noch unskaliert angezeigt wird obwohl diese Lösung für viele scheinbar klappt nur nciht bei mir!
Hat jemand eine Ahnung?
Der ursprüngliche Beitrag von 13:15 Uhr wurde um 13:20 Uhr ergänzt:
Hab jetzt den Code etwas verkleinert weil diese skalierung irgednwie dumm war von denen :
da steht jetzt statt:
Code:
Bitmap bmp=BitmapFactory.decodeResource(getResources(),R.drawable.splashscreen);
float scale = (float)bmp.getWidth()/(float)getWidth();
int newWidth = Math.round(bmp.getWidth()/scale);
int newHeight = Math.round(bmp.getHeight()/scale);
Bitmap sbmp = Bitmap.createScaledBitmap(bmp, newWidth, newHeight, true);
folgendes:
Code:
Bitmap bmp=BitmapFactory.decodeResource(getResources(),R.drawable.splashscreen);
Bitmap sbmp = Bitmap.createScaledBitmap(bmp, getWidth(), getHeight(), true);