コード例 #1
0
  /** Update the bookmark screen shot. */
  private void updateBookmarkScreenShot() {

    Cursor c = mDbAdapter.getBookmarkFromUrl(mWebView.getOriginalUrl(), mWebView.getLoadedUrl());

    if ((c != null) && (c.moveToFirst())) {

      long id = c.getLong(c.getColumnIndex(DbAdapter.BOOKMARKS_ROWID));

      Bitmap bm = createScreenshot();

      if (bm != null) {

        mDbAdapter.updateBookmarkThumbnail(id, bm);
      }

      mDbAdapter.updateBookmarkCount(id);
    }

    c.close();
  }
コード例 #2
0
  /**
   * Create a screen shot for the current view.
   *
   * @return A bitmap of the screen shot.
   */
  private Bitmap createScreenshot() {
    Picture thumbnail = mWebView.capturePicture();
    if (thumbnail == null) {
      return null;
    }

    float density = mContext.getResources().getDisplayMetrics().density;

    int thumbnailWidth = (int) (Constants.BOOKMARK_THUMBNAIL_WIDTH_FACTOR * density);
    int thumbnailHeight = (int) (Constants.BOOKMARK_THUMBNAIL_HEIGHT_FACTOR * density);

    Bitmap bm = Bitmap.createBitmap(thumbnailWidth, thumbnailHeight, Bitmap.Config.ARGB_4444);

    Canvas canvas = new Canvas(bm);

    if (thumbnail.getWidth() > 0) {
      float scaleFactor = (float) thumbnailWidth / (float) thumbnail.getWidth();
      canvas.scale(scaleFactor, scaleFactor);
    }

    thumbnail.draw(canvas);
    return bm;
  }