S
Snipestyle
Erfahrenes Mitglied
- 3
Hey,
ich habe noch ein zweites Problem. wenn ich die funktion getContentHeight() nutze, kommt dort jedoch ein falsches ergebnis raus, was eher der Originalgröße entspricht. Die vom webview aufgerufene URL zeigt ein Bild in angepasster Viewport Weite an also 100% Weite. Ich brauche nun die dazu passende Hoehe damit ich exakt von dem Bereich ein Screenshot machen kann.
Einen Screenshot mache ich so:
Beim Screenshot fehlt dann immer ein gutes untere Viertel vom Bild. Ich hoffe ihr könnt mir erklären, was ich falsch mache
ich habe noch ein zweites Problem. wenn ich die funktion getContentHeight() nutze, kommt dort jedoch ein falsches ergebnis raus, was eher der Originalgröße entspricht. Die vom webview aufgerufene URL zeigt ein Bild in angepasster Viewport Weite an also 100% Weite. Ich brauche nun die dazu passende Hoehe damit ich exakt von dem Bereich ein Screenshot machen kann.
Einen Screenshot mache ich so:
Code:
public void takescreenshot(View view)
{
File picDirectory = new File("mnt/sdcard/DCIM/Cam_Connect");
picDirectory.mkdirs();
Toast.makeText(getApplicationContext(), "Wait...", Toast.LENGTH_SHORT).show();
Calendar c = Calendar.getInstance();
int dh = c.get(Calendar.HOUR_OF_DAY);
int day = c.get(Calendar.DATE);
int month = c.get(Calendar.MONTH)+1;
int year = c.get(Calendar.YEAR);
int stunde = c.get(Calendar.HOUR);
if(dh > 12)
{
stunde+=12;
}
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
String filename = "/DCIM/Cam_Connect/"+String.valueOf(day)+"-"+String.valueOf(month)+"-"+String.valueOf(year)+"--"+String.valueOf(stunde)+":"+String.valueOf(minute)+":"+String.valueOf(second)+".png";
try {
webView = (WebView)findViewById(R.id.webView1);
Bitmap bitmap = Bitmap.createBitmap(webView.getWidth(), webView.getContentHeight(),
Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
webView.draw(canvas);
FileOutputStream out = new FileOutputStream(
Environment.getExternalStorageDirectory()
+ filename);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); // saving bitmap
Toast.makeText(getApplicationContext(), "Screenshot gespeichert unter: "+filename, Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
//
Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}