Cắt xén thân thiện với người dùng của hình thu nhỏ bài?


32

Có cách nào để cho phép người dùng của tôi xác định vùng cắt của hình thu nhỏ của bài đăng không? Các hình thu nhỏ luôn là các tệp đính kèm bài đăng hiện có, tôi không muốn tạo thêm một tệp đính kèm cho mỗi hình thu nhỏ.

Hình thu nhỏ của bài đăng phải là 200x100 pixel và đến từ một trong những hình ảnh được sử dụng trong bài đăng. Vì vậy, trong thế giới lý tưởng của tôi, khi bạn nhấp vào liên kết "Đặt hình ảnh nổi bật", bạn sẽ có được cái nhìn tổng quan về các hình ảnh đã được bao gồm và khi bạn nhấp vào một trong số đó, bạn có thể tự xác định vùng cắt (di chuyển hoặc thay đổi kích thước của nó, nhưng vẫn giữ tỷ lệ khung hình 2x1). Khi bạn nhấp vào "OK", hình thu nhỏ bài đăng mới được lưu với tệp đính kèm ban đầu ( _wp_attachment_metadata['sizes']['post-thumbnail']ví dụ trong trường siêu dữ liệu), không phải là tệp đính kèm mới. Không nên cho phép sử dụng hình ảnh đã được sử dụng làm hình thu nhỏ cho bài đăng khác hoặc ít nhất là đưa ra cảnh báo.

Tôi tin rằng trình chỉnh sửa hình ảnh đi kèm sẽ không phù hợp với nhu cầu của tôi, vì bạn có thể chọn chỉnh sửa tất cả các phiên bản của hình ảnh hoặc hình thu nhỏ thông thường, nhưng không chỉ hình thu nhỏ của bài đăng. Tôi cũng thấy hơi khó hiểu khi biết mình đang chỉnh sửa phiên bản nào, vì vậy tôi nghĩ người dùng của tôi sẽ còn gặp nhiều rắc rối hơn với nó.

Có một plugin nào làm những gì tôi muốn, hoặc tôi có thể dễ dàng mở rộng theo nhu cầu của mình không?

Cập nhật: Ví dụ UI

Tôi thực sự thích giao diện của trình chọn hình ảnh trong Sổ địa chỉ Mac OS X: bạn chọn một hình ảnh và thay đổi kích thước của trình cắt hình thu nhỏ tỷ lệ cố định thông qua một thanh trượt. Bạn cũng có thể kéo hình ảnh cơ sở xung quanh. Bạn có thể mở rộng ý tưởng này với nhiều kích thước hình ảnh (Tôi có một post-thumbnailpost-thumbnail-1/2đó là một nửa kích thước đó, ví dụ). Để người dùng chọn (các) kích thước anh ta đang chỉnh sửa bằng các hộp kiểm và vẽ hình chữ nhật cắt phù hợp trên màn hình.

Trình cắt ảnh trong Sổ địa chỉ đang hoạt động


1
@Jan Fabry - Dự án WordPress trả tiền đầu tiên của tôi là một plugin để cắt xén hình ảnh, trước khi cắt xén trong WordPress. Nó khác biệt đáng kể so với bạn yêu cầu hoặc tôi đưa nó vào như một câu trả lời. Nhưng những gì bạn muốn không quá khó để viết nếu bạn có động lực ...
MikeSchinkel

1
@Mike: Tôi đã thấy điều đó một lần trên trang web của bạn và tôi đã hy vọng nó sẽ có sẵn ở đâu đó. Ngay cả khi nó không đánh dấu vào tất cả các mục trong danh sách mong muốn (mở rộng) của tôi, nó có thể cung cấp một khởi đầu tốt.
Jan Fabry

@Mike - Tôi cũng rất muốn xem lại bất kỳ mã nào bạn có thể đã tạo hoặc sửa đổi liên quan đến cắt xén hình ảnh. Tôi đã rất mong muốn thêm jcrop vào một metabox tùy chỉnh cho phép thêm và cắt xén hình ảnh trong khi vẫn sử dụng thư viện phương tiện wordpress tích hợp.
NetConstructor.com

Hey @Jan Fabry@ NetConstructor.com - Tôi chỉ xem xét mã và vì đó là cắm đầu tiên của tôi cho WP Tôi quá xấu hổ để phát hành nó, nó là xấu đó. Tôi muốn làm việc với một giải pháp mới hơn để phát hành ở đây nhưng có lẽ sẽ lâu thôi ...
MikeSchinkel

Đừng ngại Mike, mã cũ luôn xấu trong mắt nhà văn. Đó chỉ là sự tiến bộ :). @Jan - trong ví dụ về giao diện người dùng của bạn, theo tôi, kích thước hình thu nhỏ của bài đăng được xác định trước bằng cách nào đó. Bạn có thể nói thêm về điều đó?
hakre

Câu trả lời:


11

Mã vẫn còn là một mớ hỗn độn, nhưng nó dường như hoạt động, ngay cả trên IE 8. Tôi dự định phát hành nó trong kho lưu trữ, nhưng trong thời gian đó bạn có thể chơi với phiên bản hiện tại của tôi . Để truy cập nó, bạn nhấp vào "Chỉnh sửa hình ảnh" khi thêm hoặc chỉnh sửa hình ảnh, nó thay thế trình chỉnh sửa hình ảnh thông thường (chúng rất khó kết hợp). Vì hầu hết khu vực quản trị sử dụng hình thu nhỏ thông thường và phiên bản hiện tại của tôi chỉnh sửa hình thu nhỏ của bài đăng, có vẻ như mã không có hiệu lực, nhưng hãy thử bằng cách hiển thị hình thu nhỏ của bài đăng và bạn sẽ thấy nó thay đổi.

Plugin này yêu cầu Trình chỉnh lại hình ảnh theo yêu cầu của tôi , vẫn còn là một mớ hỗn độn, để thực hiện thay đổi kích thước thực tế.

Hình ảnh ví dụ trong trình cắt


Mã đã sẵn sàng để phát hành chưa? có thể github nó? Tôi đang muốn tích hợp chức năng như thế này vào nồi hơi của mình
Mild Fuzz

Tôi cũng rất quan tâm đến những gì / làm thế nào bạn đã làm điều này! Xin vui lòng chia sẻ mã. Mã của bạn có hoạt động bằng thư viện phương tiện wordpress mặc định không và nó có cho phép bạn tạo một metabox đơn giản trên màn hình chỉnh sửa bài đăng hay không, nơi bạn có thể gọi một hình ảnh cụ thể VÀ sao chép nó chỉ với một kích thước cụ thể mà bạn đã tạo như "new_thumb" như được xác định thông qua một cái gì đó như add_image_size ('new_thumb', 200, 100, true);? Tình huống lý tưởng sẽ là có một cái gì đó giống như trình tạo hình ảnh tiêu đề với khả năng thay đổi từng kích thước hình ảnh được xác định dựa trên các metabox riêng lẻ cho từng kích thước được xác định.
NetConstructor.com

@JanFabry bạn đã phát hành mã này dưới dạng Plugin chưa? Tôi rất muốn giới thiệu nó cho người cần chức năng này!
Chip Bennett

@ jan-fabry Chức năng này đã hoạt động như thế nào? Có thành công nào không?
Steven

4

Đặt cược tốt nhất của bạn là sử dụng crop crop dựa trên javascript và sau đó php kết hợp với ImageMagick hoặc Image GD.

Nó sẽ phải được ghi vào các chức năng của bạn hoặc như là một trình cắm thêm vì tôi không biết về bất kỳ trình cắm wordpress nào, điều này thật đáng ngạc nhiên.

Có một ảnh crop YUI với tùy chọn lưu dựa trên php http://developer.yahoo.com/yui/examples/imagecropper/conn_crop.html

Dưới đây là một hướng dẫn khác nhau về cách sử dụng trình cắt xén jquery với php
http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/

Một tùy chọn thứ ba rất giống với liên kết ở trên bằng cách sử dụng cùng một trình cắt jquery nhưng mã khác nhau. http://www.leonkessler.com/blog/?p=132

Đây là một cách khác sử dụng jcrop của jquery thay vào đó, http://www.talkincode.com/jcrop-extension-im THỰCation-in-php-932.html

Ai đang chuẩn bị một plugin mới, điều này chắc chắn sẽ phổ biến :)


Đã có mã cắt ảnh (HTML, JS và PHP) trong lõi wordpress. Tôi nghĩ rằng một plugin tốt sẽ sử dụng lại điều đó. Đó không phải là một điều bắt buộc, chỉ cần nói như vậy. Bạn hoàn toàn đúng về thực tế rằng UI ví dụ được vẽ bởi Jan cần một cái gì đó tương tự.
hakre

@hakre, Wyck cuối cùng được liên kết đến là jcrop được tích hợp vào lõi wp trong 2.8 . Tôi nhớ đã đọc về nó trước đó nhưng tôi không thể tìm thấy bất kỳ thông tin nào về nó thực sự được sử dụng ngoài một plugin trong kho lưu trữ mà tất cả các tài khoản đều bị hỏng.
matt

@matt: nếu nó được tích hợp vào lõi (Tôi không biết tất cả thông tin cụ thể về crop UI trong lõi ngay bây giờ) Tôi giả sử rằng nó được sử dụng cho tính năng UI hình ảnh lõi. Tính năng này không có sẵn mọi lúc mà chỉ khi các thư viện ảnh hệ thống hoặc PHP nhất định có sẵn. Xin lỗi vì điều đó không đặc biệt nhưng chỉ là tôi đã không tham gia vào việc thực hiện cốt lõi cho đến nay. Nhưng tôi biết có một;)
hakre

1

Giả sử bạn đã thêm hỗ trợ cho hình thu nhỏ sau khi bạn nói về tùy chọn "Hình ảnh nổi bật".

Nếu vậy, một tùy chọn bạn có nó để thêm kích thước hình ảnh mới vào mảng tải lên. Vì vậy, theo mặc định, bạn có hình thu nhỏ, trung bình, lớn. Trong đoạn mã sau, phần này thêm hình ảnh thứ 4 vào loại đó, dựa trên bất kỳ kích thước nào bạn muốn. Bit mã này sẽ được thêm vào tệp tin.php.

add_image_size( 'new_thumb', 200, 100, true );

"new-thumb" = tên của hình ảnh tùy chỉnh mới
"200" = width
"100" = height
"true" = tùy chọn cắt cứng. Điều này sẽ buộc một hình ảnh được cắt theo chiều rộng / chiều cao được xác định. Không có, nó chỉ cân theo tỷ lệ.

Bây giờ, để hiển thị hình thu nhỏ mới trên một trang hoặc mảng bài đăng, bạn sẽ chèn đoạn sau vào HTML của mình

<?php the_post_thumbnail('new_thumb'); ?>

@cnix: Cảm ơn câu trả lời này, nhưng đó không phải là điều tôi đang tìm kiếm. Tôi muốn một cách để người xác nhận xác định khu vực nên được cắt, chứ không phải tôi là người thiết kế trang web. Vì vậy, khu vực có thể thay đổi từ hình ảnh để hình ảnh.
Jan Fabry

1

Bạn có thể muốn sử dụng CSS để có tính linh hoạt cao, sửa hình thu nhỏ trong chủ đề của bạn (nếu muốn) và tránh lộn xộn tập tin:

http://www.seifi.org/css/creating-thumbnails-USE-the-css-clip-property.html

Hãy nhớ rằng toàn bộ hình ảnh sẽ được tải, vì vậy đừng sử dụng bản gốc 3 MB của bạn cho việc này.

Cập nhật theo yêu cầu của tháng 1: Nếu bạn muốn cắt động, hãy xem xét:

  • Đối với người dùng = quản trị viên, tạo CSS thông qua PHP; bạn chỉ có thể liên kết với php để đọc các cài đặt phù hợp và điều chỉnh các tham số cắt cho phù hợp.
  • Đối với người dùng = khách truy cập, hãy sử dụng JavaScript để thay đổi các tham số cắt trong thuộc tính kiểu của hình ảnh.
  • Là một giải pháp ít xâm lấn hơn, hãy xem xét việc tạo một shortcode (thông qua plugin tuyệt vời Shortcode Exec PHP) như [thumb w = ?? h = ??] url [/ thumb] mà bạn có thể dịch sang thẻ HTML thích hợp bằng CSS nội tuyến.

Thật vậy, bạn có thể thực hiện cắt xén qua CSS để tránh có nhiều kích thước, nhưng làm thế nào để người dùng (tác giả của bài đăng) xác định vùng cắt cần được hiển thị?
Jan Fabry

Xin vui lòng xem các chỉnh sửa ở trên.
Raphael

Cảm ơn bạn đã làm rõ. Điều này giả sử người dùng biết vị trí pixel của vùng cắt mong muốn? Tôi thực sự đang tìm kiếm một cách đồ họa hơn (như trình chỉnh sửa hình ảnh hiện tại, nhưng được nhắm mục tiêu để đăng hình thu nhỏ và không phải hình thu nhỏ thông thường).
Jan Fabry

Tôi hy vọng bạn dự định đây sẽ là một plugin, không phải là hack. Bạn có thể cung cấp một số tùy chọn mặc định mà shoud đủ trong hầu hết các trường hợp: góc, trung tâm, tập trung vào các cạnh và vv (tất cả đều dễ dàng tính toán). Tôi sẽ không cung cấp đầu vào miễn phí vì mọi người có thể làm xáo trộn dòng chảy của trang web nếu họ nhập vào tào lao. Cung cấp một bộ khử clip đồ họa (xem Zenphoto để thực hiện), tôi đoán vậy, nhưng các nguyên tắc về cách sử dụng các giá trị, tuy nhiên thu được, vẫn giữ nguyên; bạn chỉ cần xây dựng GUI. Điều này tôi không thể giúp bạn với.
Raphael

1

Có một plugin cũ hơn được gọi là WP Post Thumbnail mà đôi khi chúng ta sử dụng. Nó không hoàn hảo và có một số lỗi nhỏ với phiên bản mới nhất cho WP (nó chưa được cập nhật từ năm 2008 nên không nhất thiết phải đáng tin cậy). http://wordpress.org/extend/plugins/wp-post-thumbnail/


1

Tôi tin rằng bạn đang tìm kiếm điều này: http://wordpress.org/support/topic/sc khoa- for- wordpress-29-also-works-on-30-h bồ

Tôi đã không thử điều này, nhưng nó sẽ cung cấp cho bạn chức năng mà bạn đang tìm kiếm.

Trang plugin gốc ở đây. http://wordpress.org/extend/plugins/sc khoa /

Tôi cũng cần điều này cho một dự án tôi đang thực hiện.


Cám ơn vì sự gợi ý. Tôi đã xem xét Kéo (và biết rằng ai đó đã nâng cấp nó lên 3.0), nhưng tôi nghĩ nó quá linh hoạt với những gì tôi muốn: phải là một máy cắt sẽ cắt theo kích thước được xác định trước. Kéo có thể làm nhiều hơn nữa, và do đó có thể gây nhầm lẫn cho người dùng cuối của tôi.
Jan Fabry

1

Tôi nghĩ rằng giải pháp cuối cùng cho vấn đề này sẽ là sửa đổi plugin từ http://www.seoadsensetheme.com/wordpress-wp-post-thumbnail-plugin/

và tùy chỉnh nó để mọi kích thước hình ảnh tùy chỉnh được xác định trong tệp tin.php của bạn (sử dụng add_image_size( 'new_thumb', 200, 100, true );) sẽ tự động được sử dụng và sau đó lấy mã để thay thế (hoặc mở rộng) liên kết "chỉnh sửa" khi bạn muốn sửa đổi hình ảnh.

Sử dụng phương pháp này, wordpress có thể tiếp tục tạo kích thước hình ảnh có thể áp dụng như bình thường nhưng nếu bạn muốn sửa đổi cụ thể vùng bị cắt của bất kỳ hình ảnh cụ thể nào, bạn sẽ có khả năng thực hiện để thay thế hình ảnh được tạo tự động cho kích thước đó. Hmmm ... mặc dù điều đó nghe có vẻ khó hiểu khi đọc lại nó chính xác là những gì tôi cảm thấy thiếu.

Hiện tại tôi tin rằng plugin lưu các kích thước hình ảnh tùy chỉnh này vào trường tùy chỉnh trong bài đăng thay vì bài đăng cho hình ảnh có thể áp dụng.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.