2008-09-28 106 views
12

Tôi đang tìm một nguồn mở miễn phí, tốt nhất là http image processing server. I E. Tôi sẽ gửi một yêu cầu như thế này:Máy chủ xử lý hình ảnh

http://myimageserver/rotate?url=http%3A%2F%2Fstackoverflow.com%2FContent%2FImg%2Fstackoverflow-logo-250.png&angle=90 

và nó sẽ trở lại hình ảnh mà xoay. Muốn tính năng:

  • Server-side caching
  • Một số hoạt động/ảnh hưởng (như mở rộng quy mô, watermarking, vv). Càng nhiều càng tốt.
  • Hỗ trợ POST để cung cấp hình ảnh (thay vì máy chủ TẢI nó).
  • Định dạng đầu ra khác nhau (PNG, JPEG, v.v.).
  • hoạt động hàng loạt

Nó sẽ là một cái gì đó giống như this, nhưng xà phòng miễn phí và ít hơn. Có cái gì như thế này hay tôi hỏi quá nhiều?

+0

Nghe như [imageresizing.net] (http://imageresizing.net). Đó là mã nguồn mở, hỗ trợ cú pháp URL rất dễ đọc, cung cấp bộ nhớ đệm trên đĩa phía máy chủ, mở rộng quy mô, watermarking, cắt xén, xoay, đầu ra PNG/Jpeg/GIF và có thể thực hiện các thao tác theo lô. Nó hiện không hỗ trợ POST, nhưng điều đó có thể dễ dàng được thêm vào như một plugin. –

+0

@ComputerLinguist: âm thanh tốt, cảm thấy tự do để đăng nó như là một câu trả lời. –

+2

Tôi tự hỏi điều gì với các downvotes ... Tôi nghĩ câu hỏi rất rõ ràng và hữu ích cho nhiều người. –

Trả lời

7

Các ImageResizing.Net library là cả một thư viện .NET và một mô-đun IIS. Đó là một máy chủ hình ảnh hoặc một thư viện hình ảnh, tùy theo bạn thích.

Đó là mã nguồn mở, dưới một MIT-style license, và được hỗ trợ bởi các plugin.

Nó có hiệu suất tuyệt vời, và hỗ trợ 3 đường ống: GDI +, Windows Imaging Components, và FreeImage. WIC là nhanh nhất, và có thể thực hiện một số thao tác dưới 15ms. Nó hỗ trợ bộ nhớ đệm đĩa (cho tối đa 1 triệu tệp) và tương thích với CDN (Amazon CloudFront là lý tưởng).

Nó có cú pháp URL rất thân thiện với con người. Ví dụ image.jpg?width=100&height=100&mode=crop.

Hỗ trợ thay đổi kích thước, cắt xén, đệm, xoay, đầu ra PNG/GIF/JPG, đường viền, watermarking, URL từ xa, Amazon S3, MS SQL, Amazon CloudFront, hoạt động hàng loạt, bộ lọc hình ảnh, bộ nhớ đệm đĩa và nhiều thứ khác những thứ tuyệt vời, như chạm đường may.

Nó không hỗ trợ gửi hình ảnh POST, nhưng thật dễ dàng với plugin. Và bạn có thường muốn lưu trữ hình ảnh được gửi qua POST thay vì chỉ trả lời lệnh POST với kết quả không?

[Tiết lộ: Tôi là tác giả của ImageResizer]

+0

Mọi thứ đang chạy trên Unix/Linux? – lostintranslation

+0

Chắc chắn, dưới Mono. –

+0

Ngoài ra, Imageflow chạy tự nhiên trên Linux, OS X và Windows. https://github.com/imazen/imageflow –

2

Bạn có thể sử dụng LibGD hoặc ImageMagick để xây dựng một dịch vụ tương tự một cách dễ dàng. Cả hai đều có nhiều ràng buộc ngôn ngữ.

+0

Tôi biết về những ... Tôi đang tìm kiếm một ứng dụng mà tôi có thể triển khai và sử dụng. –

2

Mặc dù không phải là giải pháp ngoài hộp, hãy xem ImageMagick. Có một perl interface cho nó, do đó, kết hợp với một số kịch bản cgi khá đơn giản, hoặc mod_perl và nó nên làm các trick.

+0

Tôi biết về ImageMagick ... Tôi đang tìm một ứng dụng mà tôi có thể triển khai và sử dụng. –

2

Bạn có thể thực hiện việc này với Google App Engine - chúng cung cấp các quy trình xử lý hình ảnh và sẽ lưu trữ miễn phí trong một số giới hạn.

Dưới đây là một số ví dụ về người làm những việc như thế này đã

http://appgallery.appspot.com/results?q=image

+0

Đẹp! Nhưng tôi đã tìm kiếm một giải pháp hoàn chỉnh ... cộng với công cụ ứng dụng của google không hỗ trợ nhiều chức năng hình ảnh (chưa!) –

4

Apache :: ImageMagick, bạn cài đặt đó - và cũng Apache cùng với mod_perl. Đây là thiết lập chuẩn, kiểm tra tài liệu, có các lựa chọn thay thế. Đây có lẽ là chìa khóa trao tay.

mẫu conf:

<Location /img> 
PerlFixupHandler Apache::ImageMagick 
PerlSetVar AIMCacheDir /tmp/your/cache/directory 
</Location> 

yêu cầu của bạn có thể trông giống như: http://domain/img/test.gif/Frame?color=red

More docs là here!

+0

Cảm ơn! điều này gần như tất cả mọi thứ tôi cần –

+0

Chào mừng bạn. =) Nó hoạt động khá tốt, nếu tôi có thể thêm. – Till

1

tôi thấy this product, có vẻ như để phù hợp với yêu cầu của tôi

Các vấn đề liên quan