Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. import android.graphics.Bitmap
  2. import android.graphics.Canvas
  3. import android.graphics.Point
  4. import com.tencent.smtt.sdk.WebView
  5.  
  6.  
  7. /**
  8. * Created by yangjw on 2019/3/14.
  9. */
  10. fun WebView?.getSize(): Point? {
  11. if (this == null) {
  12. return null
  13. }
  14. return Point(computeHorizontalScrollRange(), computeVerticalScrollRange())
  15. }
  16.  
  17. fun WebView?.getScreenShot(startX: Int, startY: Int, endX: Int, endY: Int): Bitmap? {
  18. if (this == null || startX < 0 || startY < 0 || endX < 0 || endY < 0) {
  19. return null
  20. }
  21. val size = getSize() ?: return null
  22. val wholeWidth = size.x
  23. val wholeHeight = size.y
  24. val wholePageBitmap = Bitmap.createBitmap(wholeWidth, wholeHeight, Bitmap.Config.ARGB_8888)
  25. val canvas = Canvas(wholePageBitmap)
  26. canvas.scale(wholeWidth.toFloat() / contentWidth, wholeHeight.toFloat() / contentHeight)
  27. x5WebViewExtension.snapshotWholePage(canvas, false, false)
  28. if (startX == 0 && startY == 0 && endX == wholeWidth && endY == wholeHeight) {
  29. return wholePageBitmap
  30. }
  31. return Bitmap.createBitmap(wholePageBitmap, startX, startY, endX - startX, endY - startY)
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement