it-swarm-vi.tech

Thay đổi kích thước hình ảnh theo kích thước thực tế được sử dụng trong trình chỉnh sửa?

Có cách nào để thay đổi kích thước hình ảnh theo kích thước thực tế mà chúng sẽ được hiển thị trong bài viết không? Tôi có người dùng nhập một hình ảnh lớn và sau đó thay đổi kích thước nó trong trình chỉnh sửa trực quan. Điều này thật dễ dàng, vì họ chỉ có thể kéo hình ảnh cho đến khi nó có kích thước họ muốn, mà không cần mở trình chỉnh sửa hình ảnh, thay đổi kích thước hình ảnh, lưu nó và tải lên dưới dạng tệp đính kèm riêng biệt. Tất nhiên, điều này đôi khi dẫn đến một hình ảnh rộng 100px trong bài viết, nhưng thực tế là 1500px.

Có một plugin làm điều này khi một bài viết mới được lưu? Tôi muốn giữ hình ảnh kích thước đầy đủ hiện có (để liên kết hoặc thay đổi kích thước sau này), nhưng chỉ cần thêm một kích thước bổ sung (và lưu nó trong đối tượng _wp_attachment_metadata), để bài đăng này có hình ảnh ở kích thước chính xác và tham chiếu để đính kèm kích thước đầy đủ.

Tất nhiên, tất cả các bài viết hiện có cũng nên được xử lý một lần. Các thẻ <img> có thể chỉ có một width, chỉ là height hoặc không có thẻ nào: tất cả chúng phải được xóa sạch, vì vậy tất cả chúng đều có width, height chính xác và hình ảnh có kích thước đó.

20
Jan Fabry

Tôi đã tạo ra hai plugin cùng nhau để giải quyết nhu cầu của tôi. Họ hiện đang ở giai đoạn alpha sớm, và tất cả các ý kiến ​​đều được chào đón.

Plugin cơ sở là Trình khôi phục theo yêu cầu . Plugin này giám sát các yêu cầu đối với các tệp không tồn tại trong thư mục tải lên và tạo hình ảnh có kích thước được yêu cầu nếu cần. Ví dụ: image-200x100.jpg sẽ tạo và trả về image.jpg, nhưng được thay đổi kích thước thành 200 x 100 pixel. Hình ảnh được lưu bởi tên đó trong thư mục, vì vậy các yêu cầu tiếp theo được xử lý thẳng bởi máy chủ.

Plugin thứ hai, Thay đổi kích thước thẻ img , sửa đổi các thẻ <img> để các thuộc tính src của chúng bao gồm dữ liệu chiều rộng và/hoặc chiều cao. Điều này cho phép các plugin đầu tiên phục vụ các hình ảnh chính xác. Họ cùng nhau làm những gì tôi muốn và tôi chỉ cần tạo một hàm chạy một lần để chuyển đổi tất cả các bài đăng hiện có, nhưng điều đó thật dễ dàng (tôi không muốn nối vào the_content cho một thứ chỉ nên chạy một lần).

Plugin "phần thưởng" thứ ba, Hình ảnh trung gian ảo , chặn việc tạo hình ảnh trung gian khi tải lên hình ảnh mới trong WordPress. Vì chúng vẫn được tạo bởi plugin đầu tiên nếu được yêu cầu, điều này cho phép bạn chỉ định nhiều kích thước hình ảnh mà không chiếm dung lượng đĩa trừ khi chúng thực sự được sử dụng. Điều này không cần thiết cho hai cái đầu tiên để làm việc, nhưng nó là một bổ sung dễ dàng và nó làm nổi bật thực tế là tôi vẫn cần phải làm việc xung quanh trình chỉnh sửa hình ảnh WordPress, nhưng tôi sẽ làm điều đó khi tôi tạo trình chỉnh sửa hình thu nhỏ của mình , cũng sẽ sử dụng plugin đầu tiên.

11
Jan Fabry

Tôi đã tìm kiếm thư mục plugin cho "resize" hoặc "crop" (câu hỏi sau cho một câu hỏi khác ) và ghi nhận những phát hiện của tôi trong bảng tính công khai của Google . Tìm kiếm plugin rất khó hiểu về số kết quả của nó (trang cuối cùng của tìm kiếm "resize" hiển thị "Hiển thị 145-150 trong số 273 plugin"), vì vậy tôi có thể đã bỏ lỡ một vài. Ghi chú liên quan đến bán: mọi người dường như nghĩ rằng thế giới cần một plugin trình chiếu khác. Ít ai có thể nhận ra rằng content_save_pre có thể là một bộ lọc tốt hơn để thực hiện phân tích cú pháp nặng hơn the_content.

Tôi chưa thử nghiệm bất kỳ plugin nào trong số này, nhưng đây là danh sách các plugin dường như làm những gì tôi muốn. Tôi đã thêm số phiên bản "Tương thích lên đến" trong ngoặc đơn.

Suy nghĩ cá nhân: Bốn người đầu tiên viết lại URL thành một trang động (giống như /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50), với các hình thức lưu trữ khác nhau. Tôi thích một hình ảnh thực sự được tạo ra khi cần thiết, tương tự như cách tiếp cận mà ImageScaler thực hiện. Tuy nhiên, tôi sẽ phân tách điều này (và bao gồm đề xuất của hakre trong các bình luận) và trước tiên viết lại tất cả các URL từ /wp-content/uploads/2010/11/image.jpg thành /wp-content/uploads/2010/11/image-100x50.jpg, sau đó để tập lệnh tạo các hình ảnh bị thiếu. Yêu cầu đầu tiên cho hình ảnh này tạo ra hình ảnh, tất cả các yêu cầu tiếp theo sử dụng hình ảnh được tạo này. Điều này cũng cho phép tôi phân chia chức năng trên các plugin khác nhau. Tôi sẽ đăng giải pháp này trong một câu trả lời riêng biệt.

Các plugin này giới hạn hình ảnh ở một kích thước tối đa nhất định (Điều này khác với việc chỉ định $content_width như thế nào?):

  • JP-redesign-hình ảnh , kiểm tra cả hình ảnh được liên kết nóng và quá khổ (chỉ khi chúng quá lớn, không phải nếu chúng chỉ được thay đổi kích thước) (3.0.1)
  • Hungred Image Fit , kiểm tra hình ảnh quá lớn (3.0.0)

Các plugin sau đây thú vị vì những lý do khác:

  • TimThumb gặp TinyMCE , bao gồm nút thay đổi kích thước thủ công trong trình chỉnh sửa TinyMCE (2.8.4)

Đây là một bài viết trên Wiki cộng đồng, vì vậy nó có thể được cập nhật nếu bạn tìm thấy các plugin mới.

4
Jan Fabry

Wordpress cung cấp ba kích thước mặc định (nhỏ, trung bình, lớn) có thể được cấu hình. Nếu bạn sử dụng chúng, Wordpress tạo các bản sao đã thay đổi kích thước. Có lẽ là phong cách tốt để sử dụng những cái đó và đặt số để chúng phù hợp với phong cách hiện tại. Điều này dẫn đến hình ảnh không có kích thước khác nhau trên toàn trang và cho phép điều chỉnh toàn cầu khi chủ đề thay đổi.

0
Raphael

Các plugin Image Pro được phát hành gần đây dường như làm chính xác điều này. Chưa tự mình kiểm tra, bản demo trông rất ấn tượng, lưu ý khả năng tương thích trình duyệt kém (chỉ có tại Firefox).

0
Rarst

Điều gì về việc sử dụng biến thời gian và biến qua để tự động thay đổi kích thước/kích thước hình ảnh và mức thu phóng? Bằng cách này, kích thước hình ảnh gốc vẫn có thể được duy trì. Nếu bạn cần một số ví dụ xuống dòng này cho tôi biết.

0
NetConstructor.com