0

BrowserField を使用して画像をレンダリングしようとしています。しかし、画像が次のように表示されるという問題があります(レンダリングが悪い):

ここに画像の説明を入力

画像は screen よりも大きく、次のコードを使用してロードしました:

public ImagesScreen(String urlImage,int number)
{
super(VERTICAL_SCROLL | HORIZONTAL_SCROLL);

BrowserFieldConfig config = new BrowserFieldConfig();
config.setProperty(BrowserFieldConfig.USER_SCALABLE, Boolean.TRUE);
browserField = new BrowserField(config);

scale = initscale = Float.valueOf(formatNumber(((float) 1 / (1703 / Display.getWidth())), 8, "."));

add(browserField);
Log.info("scala " + scale);//" + scale + "
String htmlContent = "<html><meta name='viewport' content='width = device-width,maximum-scale=10.0, minimum-scale=0.001, initial-scale=" + scale + ", user-scalable=yes' /><body style='margin: 0px;padding: 0px;float: left;'>";
for (int i = 1; i <= number;i++)
{
    htmlContent += "<img width='1703' alt='' src='" + urlImage + "000"+i+".png"+"'/>";
}
System.out.println(urlImage);
htmlContent += "</body></html>";
browserField.displayContent(htmlContent, "http://localhost");
UiApplication.getUiApplication().pushScreen(this);
};

スケールを 1 にすると、まだ問題があります。読んでくれてありがとう :) 。

4

1 に答える 1

0

BrowserFieldにすべての作業を任せます。

    String imgFile = "..."; // here the image file pathname        
    String style   = "..."; // here the css style

    String imgTag = "<div class=\"image\"> <img src="
           + imgFile
           + "></img></div><div class=\"clear\"></div>";

    String browserContent = "<html><style>" + style + "</style>" + imgTag + "</html>";

    byte[] contentBytes;        

    try {
        contentBytes = browserContent.getBytes("UTF-8");
        browser.displayContent(contentBytes, "text/html; charset=UTF-8", "");
    } catch (UnsupportedEncodingException e) {
        ...
    }
于 2012-05-18T12:10:55.823 に答える