2009-11-09 47 views
14

Bạn bè tốt của stackoverflow, tôi ở đây hôm nay để được hướng dẫn về xử lý ảnh/thao tác bằng Ruby trong môi trường Rails. Tôi đang tạo quảng cáo biểu ngữ động trực tiếp sẽ hoạt động chủ yếu (nếu không hoàn toàn) văn bản. Nó khá đơn giản chỉ với một hoặc hai dòng, nhưng tôi muốn tùy chọn điều chỉnh phông chữ, màu văn bản, cỡ chữ, v.v.Thư viện xử lý ảnh Ruby/Rails

Bạn đề xuất thư viện nào cho loại công việc này?

Tôi đã đọc trong rMagick một chút và tôi thấy rất nhiều khiếu nại về vấn đề bộ nhớ và thiếu tính năng hiển thị văn bản. Tôi không thấy nhiều dự án hoạt động thay thế.

Cảm ơn!

Chỉnh sửa: Tôi có cơ hội để gây rối với RMagick và trong khi thư viện của nó đầy đủ tính năng, nó thiếu nghiêm trọng trong bộ phận văn bản. Một tính năng mà tôi không thể sử dụng là không gian trống. Tôi đang in một số điện thoại trong văn bản của tôi và nó thực sự không có ý nghĩa để có mã vùng trên một dòng khác với phần còn lại của số.

Tôi đang chọn RMagick là giải pháp tốt nhất hiện nay, vì nó có đầy đủ tính năng và được phát triển tích cực, nhưng không có nghĩa là giải pháp tốt.

+0

Tương tự như - http: // stackoverflow.com/questions/676159/create-static-graphics-files-png-gif-jpg-sử dụng-ruby-hoặc-python –

+0

Javid: Không phải vậy. –

Trả lời

5

tôi đã viết một cái gì đó như sau:

require 'rubygems' 
require 'RMagick' 
include Magick 

image = Image.new(50, 50) { 
    self.background_color = "white" 
} 
text = Draw.new 
text.annotate(image, 0,0,0,40, 'Named Colors') { 
    self.fill = 'black' 
    self.pointsize = 32 
} 
image.write("image.png") 

nào nên đủ dễ dàng để làm theo. Ngoài ra, hãy xem the documentation. Trong khi nó không hoàn toàn được đặt ra để hoàn thiện, nó là khá nhiều tất cả ở đó.

1

Thư viện ImageScience được tạo cho những người ghét sử dụng bộ nhớ kém của rMagick, v.v. Tôi sử dụng nó làm bộ xử lý phụ trợ cho plugin attachment_fu, giúp dễ dàng tạo mô hình hình ảnh trong Rails.

+3

Imagescience phù hợp hơn để thay đổi kích thước/cắt xén hình ảnh, không tạo ra như ông đã yêu cầu. –

2

Bạn có thể canh tác xử lý hình ảnh của mình thành phiên bản dòng lệnh của ImageMagick thay vì sử dụng các liên kết rMagick Ruby.

1

Bạn có thể sử dụng mini-magick để làm việc với ImageMagick trong Ruby.

4

Gần đây tôi đã thử nghiệm với việc tạo biểu đồ/biểu đồ từ các tập dữ liệu bằng Ruby. Khi tôi không thể tìm thấy bất kỳ thư viện hoặc đá quý nào thực sự làm những gì tôi muốn, tôi bắt đầu dò tìm xung quanh với đồ họa SVG và tôi thấy rằng chúng thực sự khá đơn giản để tạo ra. Định dạng SVG đơn giản là XML thuần văn bản. Tôi đã tạo một ảnh SVG trong Inkscape, lưu nó vào một tệp SVG đơn giản và kịch bản lệnh Ruby của tôi sử dụng tệp đó làm mẫu (tôi tự động cập nhật một vài phần tử dòng và một vài nhãn văn bản và để nguyên cấu trúc của tệp). SVG cung cấp cho bạn tất cả các tùy chọn phông chữ (như CSS hoặc HTML).

Thesetwo hướng dẫn giúp bạn xem nhanh SVG và cách bạn có thể tạo hình ảnh khá nhanh chóng với bất kỳ ứng dụng hoặc ngôn ngữ nào có thể ghi vào tệp văn bản. Ruby có thể sử dụng đồng bằng cũ puts để xây dựng một tệp SVG hoặc bạn có thể để đá quý 'người xây dựng' thực hiện định dạng cho bạn.

2

Bạn có bị giới hạn đối với MRI Ruby không? Nếu có bất kỳ cách nào bạn có thể truy cập vào một cá thể jRuby (có thể trên một ngăn xếp EC2 chẳng hạn), bạn có thể sử dụng thư viện tuyệt vời Processing. Một dự án tôi đã làm việc trước đây đã làm một cái gì đó tương tự với chế biến thông qua jRuby, nó thực sự là một sự kết hợp mạnh mẽ.

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