Lại hỏi về tạo ảnh thumbnail dùng ImageField và ImageCache

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Anonymous's picture

Mình thêm một trường Image vào một kiểu nội dung và dùng ImageCache để cắt lấy ảnh thumbnail. Khi tạo bài viết, người dùng sẽ upload một hình ảnh để làm thumbnail. Mình thấy sau khi upload thì trong thư mục files có chứa hình ảnh với kích cỡ ban đầu của nó, và thư mục files/imagecache/thumbnail chứa những hình ảnh đã được crop. Mình muốn hỏi các bạn là có cách nào để upload lên, crop để tạo ảnh thumbnail rồi xóa luôn ảnh gốc không (chỉ giữ lại những ảnh thumbnail thôi).

Comments

Trong thư mục

pvaklb's picture

Trong thư mục files\imagefield_thumbs cũng chứa những hình cùng tên nhưng kích thước hơi khác những hình nằm trong files\imagecache\thumbnail. Mình chưa hiểu cách xử lí ảnh upload lên của các module này lắm. Mong bạn nào giải thích giùm.

Bạn vào site build/imagecache

lucgiac's picture

Bạn vào site build/imagecache , ở đây cho phép mình thực hiện những thao tác cắt gọt đối với ảnh upload. Với mỗi thao tác ở đây thì imagecache sẽ tạo folder tương ứng, chúng có tác dụng giúp bạn hiển thị ảnh phù hợp theo yêu cầu ở những nơi bạn muốn. VD như ảnh ở phần xem trước của bài là ảnh nhỏ, khi vào bài sẽ ra ảnh lớn hơn, khi click vào ảnh trong bài sẽ ra ảnh gốc, or slide ảnh ... tùy thuộc vào bạn cấu hình image field ở Node type.

Tuy nhiên vấn đề xóa ảnh gốc đi thì tớ chưa để ý nên cũng chưa tìm hiểu. Mong ai biết được thì chia sẻ với mọi người ^^.

Bạn có thể viết script và set

pbn's picture

Bạn có thể viết script và set cron job cho nó tự động xóa. Tuy nhiên mình nghĩ không nên xóa file gốc, bạn xóa rồi sau này nếu muốn thay đối kích thước hình thumbnail thì đâu còn hình gốc để imagecache xử lý

Thân

Cám ơn bạn đã chia sẻ. Còn 1

pvaklb's picture

Cám ơn các bạn đã chia sẻ. Còn 1 chỗ mình chưa hiểu. Tại sao lại có thư mục files\imagefield_thumbs với những hình ảnh bên trong tương tự như trong thư mục files\imagecache\thumbnail. Có vẻ như do module ImageField tạo ra. Nhưng tại sao Imagefield lại tạo ra thư mục đó. Ai giải thích giùm mình với.

Mình chưa xem kỹ code, nhưng

pbn's picture

Mình chưa xem kỹ code, nhưng theo mình nghĩ files\imagecache\thumbnail là do imagecache tạo ra. Còn files\imagefield_thumbs là do ImageField tạo ra cho bạn xem preview lúc bạn upload hình lên (cái hình nhỏ nhỏ hiện ra sau khi bạn upload)

Mình đã kiểm tra lại đúng như

pvaklb's picture

Mình đã kiểm tra lại đúng như bạn nói. Cái hình preview khi mình upload lên nằm ở thư mục files\imagefield_thumbs. Mà cái ImageFiled sao không lấy luôn hình đc tạo từ imagecache nhỉ, lại tạo thêm 1 cái nữa chi cho rắc rối ^^

imagecache

lucgiac's picture

Tất cả những folder trong imagecachhe thì đều được tạo tự động và có tên tương ứng với các preset mà mình tạo ra. Với mỗi ảnh cậu upload thì imagecache tự động tạo ra các ảnh tương ứng với các preset và đặt chúng vào các folder tương ứng. Bạn cứ thử mấy cái là hiểu liền :D

su dung image import

kiusai's picture

Các pác chỉ dùm em cách sử dụng cái module Image với, em ko import được nhiều ảnh vào!!!!!!!!!!

Thường những cai import là để

lucgiac's picture

Thường những cai import là để import những cái có sẵn trong server thôi, không phải upload từ máy lên. Để upload nhiều ảnh bạn có thể dùng module image fupload http://drupal.org/project/image_fupload kết hợp đc với cả module image hoặc image field

Nên giữ lại ảnh gốc

vuquochuy's picture

Theo mình nghĩ, chúng ta nên giữ lại ảnh gốc vì trong quá trình sử dụng chúng ta có thể thay đổi thông số của ImageCache nên ảnh gốc vẫn cần thiết để re-create lại ảnh. Và khi tạo trường Image or File thì nên xác định thư mục để chứa ảnh cho dễ quản lý sau này.

Website: http://huyvq.com
Website design, Website development, Fix javascript & css bug

Để biết thêm bạn xem module đó đi

tvazone's picture

Tạo thumnail của imagefiled hoàn toàn khác với tạo imagecache. Vì tạo thumnail của imagefield và nó dựa vào đối số thiết lập sẵn với biến: imagefield_thumb_size và image gốc sẽ được scale.

Bạn muốn biêt vì sao nó tạo thì đọc code của 2 file:

imagefield.module
imagefield_file.inc

Nếu bạn vẫn chưa hiểu vì seo? Thì tôi sẽ quay lại. ^^ Vì lâu rồi mới thức khuya thế này :)

cho minh hỏi về cai modul image

huutrung07's picture

Khi mình upload ảnh trong 1 new article theo mặc định thì ở ngoài trang web có ảnh nhỏ mô tả đính kèm, nhưng khi mình tạo với content mà mình tự tạo thì ảnh chỉ xuất hiện ở trong body của bài. Bạn nào chỉ mình với :(

Cho em hỏi cách về thumb với.

leanhtuancda's picture

Hiện em muốn hiện thumb bằng view field, nhưng em đã cố gắng thử khá nhiều cách mà field content:image chỉ hiện ra label nếu em có đặt cho label thôi. Nhưng nếu em xem view dạng teaser thì có thấy thumb. Vì thế em mong các bác giúp đỡ em để làm được 2 điều sau:
1. Có thể hiện ảnh thumb khi xem view dưới dạng fields (vì em muốn có chữ xem thêm ở cuối trích đoạn của view).
2. Có cách nào lấy ảnh đầu tiên của content để làm anh thumb hay không ạ.
Cảm ơn các bác trước.