2

レイアウトを画像に変換する必要があるアプリケーションがありますが、問題は、電話の密度によって画像の解像度が異なることです。

スマートフォン A でアプリを使用すると解像度は 480x350 になりますが、スマートフォン B では画像の解像度が 400x280 になります。私の質問は次のとおりです。このレイアウトを画像に変換することは可能ですが、密度に関係なくすべての電話で同じ解像度を使用できますか?

私のコード:

    private void salva() {
    if(myDir.exists()==false) {
        myDir.mkdirs();
    }
    RL = (RelativeLayout) findViewById(R.id.CardsLay);
    RL.setDrawingCacheEnabled(true);
    img = RL.getDrawingCache();
    Canvas canvas = new Canvas(img);
    try {
        FileOutputStream out = new FileOutputStream(file);
        canvas.drawBitmap(img, 0, 0, null);
        img.compress(CompressFormat.JPEG, 80, out);
        out.flush();
        out.close();
        RL.setDrawingCacheEnabled(false);
        Toast.makeText(getApplicationContext(), "Image saved on phone", Toast.LENGTH_LONG).show();
    }
    catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getApplicationContext(), "Ops", Toast.LENGTH_SHORT).show();
    }
}
4

0 に答える 0