1
0
Fork 0
mirror of https://github.com/gsantner/dandelion synced 2024-09-27 18:29:37 +02:00

screenshot cature -> replaced capturePicture (deprecated)

This commit is contained in:
scoute-dich 2016-04-11 19:10:30 +02:00
parent 88801f6961
commit 2955c67783

View file

@ -32,7 +32,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Picture; import android.graphics.Paint;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment; import android.os.Environment;
@ -86,6 +86,7 @@ import org.json.JSONException;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
@ -630,23 +631,38 @@ public class MainActivity extends AppCompatActivity
} }
Date date = new Date(); Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm");
Picture picture = webView.capturePicture();
Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); webView.measure(View.MeasureSpec.makeMeasureSpec(
Canvas c = new Canvas(b); View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED),
File screen = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/" View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
+ dateFormat.format(date) + ".jpg"); webView.layout(0, 0, webView.getMeasuredWidth(),
if (screen.exists()) webView.getMeasuredHeight());
screen.delete(); webView.setDrawingCacheEnabled(true);
picture.draw(c); webView.buildDrawingCache();
FileOutputStream fos = null; Bitmap bm = Bitmap.createBitmap(webView.getMeasuredWidth(),
webView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas bigcanvas = new Canvas(bm);
Paint paint = new Paint();
int iHeight = bm.getHeight();
bigcanvas.drawBitmap(bm, 0, iHeight, paint);
webView.draw(bigcanvas);
System.out.println("1111111111111111111111="
+ bigcanvas.getWidth());
System.out.println("22222222222222222222222="
+ bigcanvas.getHeight());
try { try {
fos = new FileOutputStream(screen); OutputStream fOut;
if (fos != null) { File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/", dateFormat.format(date) + ".jpg");
b.compress(Bitmap.CompressFormat.JPEG, 90, fos); fOut = new FileOutputStream(file);
fos.close();
} bm.compress(Bitmap.CompressFormat.PNG, 50, fOut);
fOut.flush();
fOut.close();
bm.recycle();
} catch (Exception e) { } catch (Exception e) {
e.getMessage(); e.printStackTrace();
} }
Intent sharingIntent = new Intent(Intent.ACTION_SEND); Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("image/png"); sharingIntent.setType("image/png");
@ -693,23 +709,38 @@ public class MainActivity extends AppCompatActivity
} }
Date date = new Date(); Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm");
Picture picture = webView.capturePicture();
Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888); webView.measure(View.MeasureSpec.makeMeasureSpec(
Canvas c = new Canvas(b); View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED),
File screen = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/" View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
+ dateFormat.format(date) + ".jpg"); webView.layout(0, 0, webView.getMeasuredWidth(),
if (screen.exists()) webView.getMeasuredHeight());
screen.delete(); webView.setDrawingCacheEnabled(true);
picture.draw(c); webView.buildDrawingCache();
FileOutputStream fos; Bitmap bm = Bitmap.createBitmap(webView.getMeasuredWidth(),
webView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas bigcanvas = new Canvas(bm);
Paint paint = new Paint();
int iHeight = bm.getHeight();
bigcanvas.drawBitmap(bm, 0, iHeight, paint);
webView.draw(bigcanvas);
System.out.println("1111111111111111111111="
+ bigcanvas.getWidth());
System.out.println("22222222222222222222222="
+ bigcanvas.getHeight());
try { try {
fos = new FileOutputStream(screen); OutputStream fOut;
if (fos != null) { File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/", dateFormat.format(date) + ".jpg");
b.compress(Bitmap.CompressFormat.JPEG, 90, fos); fOut = new FileOutputStream(file);
fos.close();
} bm.compress(Bitmap.CompressFormat.PNG, 50, fOut);
fOut.flush();
fOut.close();
bm.recycle();
} catch (Exception e) { } catch (Exception e) {
e.getMessage(); e.printStackTrace();
} }
File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/" File file = new File(Environment.getExternalStorageDirectory() + "/Pictures/Diaspora/"
+ dateFormat.format(date) + ".jpg"); + dateFormat.format(date) + ".jpg");