Cách chụp ảnh một trang web, tạo thumbnail từ url website

Cập nhật lần cuối vào

WordPress có một tính năng miễn phí cho phép bạn chụp ảnh màn hình của bất kỳ trang web nào. Đây là một dịch vụ trên WordPress.com, người dùng có thể sử dụng miễn phí. Dịch vụ này có tên là mShots. Bạn có thể tạo ra ảnh thumbnail của một trang web thông qua url.

mShots WordPress capture website

Để sử dụng công cụ này thì bạn chỉ việc thêm url và width, height cho đường dẫn. Cú pháp sử dụng mShots như sau:

http://s.wordpress.com/mshots/v1/{encoded_url}/?w={width}&h={height}

Áp dụng cụ thể trong trường hợp mình chụp ảnh màn hình của hocwp.net thì đường dẫn như bên dưới:

https://s.wordpress.com/mshots/v1/http%3A%2F%2Fhocwp.net?w=800&h=500

Tích hợp vào dự án PHP thì bạn cần phải tạo ra một hàm, mình ví dụ hàm trong dự án WordPress của mình:

function hocwp_get_image_sizes() {
	global $_wp_additional_image_sizes;

	$sizes = array();

	foreach ( get_intermediate_image_sizes() as $_size ) {
		if ( in_array( $_size, array( 'thumbnail', 'medium', 'medium_large', 'large' ) ) ) {
			$sizes[ $_size ]['width']  = get_option( "{$_size}_size_w" );
			$sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" );
			$sizes[ $_size ]['crop']   = (bool) get_option( "{$_size}_crop" );
		} elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
			$sizes[ $_size ] = array(
				'width'  => $_wp_additional_image_sizes[ $_size ]['width'],
				'height' => $_wp_additional_image_sizes[ $_size ]['height'],
				'crop'   => $_wp_additional_image_sizes[ $_size ]['crop'],
			);
		}
	}

	return $sizes;
}

function hocwp_webshot( $website_url, $size = '' ) {
	if ( ! $website_url || empty ( $website_url ) ) {
		return false;
	}

	$sizes = hocwp_get_image_sizes();

	if ( is_string( $size ) ) {
		if ( ! empty( $size ) && isset( $sizes[ $size ] ) ) {
			$size = $sizes[ $size ];
		}
	}

	if ( ! is_array( $size ) ) {
		if ( is_array( $sizes ) && 0 < count( $sizes ) ) {
			$size = current( $sizes );
		} else {
			$size = array();
		}
	}

	$size = wp_parse_args( $size, array(
		'width'  => 800,
		'height' => 500
	) );

	$url = 'http://s.wordpress.com/mshots/v1/' . urlencode( $website_url );

	$url = add_query_arg( array( 'h' => $size['height'], 'w' => $size['width'] ), $url );

	return $url;
}

Như vậy, giờ bạn chỉ cần gọi hàm hocwp_webshot với tham số đầu vào là url bất kỳ trang web nào, và kích thước là một mảng chứa width, height hoặc image size name trên WordPress. Chúc bạn thành công.

Theo dõi
Thông báo của
guest

5 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Minh Khánh
5 năm trước

Hay nhưng em dùng tính năng chụp ảnh của fire fox, rất tiện

The K
5 năm trước

Anh Cường ơi, Anh cho em hỏi với ạ. Em cài plugin Social Locker của Mythemeshop, của bạn khác share cho em thui nhưng đó là bản cũ, bây giờ em gỡ đi cài bản mới thì bản mới nó giữ nguyên cấu hình của bản cũ.
Em muốn cài bản mới nhưng mà như kiểu là mới cài lần đầu tiên lên ấy ạ, chưa có cấu hình gì thì không biết có cách nào không ạ.
Em cảm ơn anh ạ.

central residence binh duong

Hy nhưng hơi cực nhỉ