Xoay nút hình ảnh base64

ImageMagick là bộ phần mềm [có thể gọi là thư viện] xử lý các tệp ảnh. ImageMagick là phần mềm tự do với một giấy phép riêng, tương thích với GPL

Tên gọi ImageMagick được ghép từ Image [hình ảnh] và Magick [đọc giống như Magic meaning là phép thuật]. ImageMagick nổi tiếng tương thích với nhiều định dạng ảnh và có giao diện [API] phong phú

Feature

ImageMagick có khả năng đọc, ghi và chuyển đổi nhiều định dạng tệp ảnh như JPEG, GIF, PNG, TIFF, PDF, PostScript, SVG. [total plus more than 100 format]

Có thể sử dụng ImageMagick để thực hiện các thao tác đơn giản với hình ảnh như. dịch chuyển, xoay hình, lật hình, thu phóng, kéo đứt hình;

Cách sử dụng ImageMagick hiệu quả nhất là thông qua các câu lệnh được thực thi trong các ngôn ngữ lập trình. ImageMagick hỗ trợ giao diện lập trình ứng dụng API cho nhiều ngôn ngữ lập trình khác nhau

Đùa giỡn với ImageMagick

Hình ảnh là một phần quan trọng của bất kỳ ứng dụng nào. Từ một mạng xã hội đến một trình theo dõi lỗi đơn giản, hình ảnh đóng một vai trò quan trọng. Tuy nhiên, quản lý hình ảnh không phải là một nhiệm vụ tầm thường và yêu cầu nhiều kế hoạch trước

Trong bài viết này cho phép tôi chứng minh làm thế nào để đạt được điều này trong Rails. Tôi sẽ chỉ cho bạn cách xử lý hình ảnh của bạn và tạo nhiều phiên bản trong chương trình phụ trợ. Chúng tôi cũng sẽ xem cách cải thiện hiệu suất của trang bằng cách nén những hình ảnh này mà không làm giảm chất lượng

Thiết lập sân khấu

ImageMagick là thư viện để xử lý ảnh trên hệ thống POSIX. Nếu bạn không cài đặt ImageMagick trên hệ thống của mình, thì nó có thể được cài đặt với gói quản lý cho hệ điều hành của bạn. Trên Ubuntu

sudo apt-get -y install imagemagick
sudo apt-get -y install libmagic-dev
sudo apt-get -y install libmagickwand-dev

Trên Mac OS X, tôi khuyên bạn nên sử dụng Homebrew

brew install imagemagick

Bây giờ, chúng ta cần một bộ điều hợp Ruby để kết nối với thư viện ImageMagick gốc. Cá nhân tôi thích MiniMagick, vì nó nhẹ và có khá nhiều thứ mà ứng dụng điển hình yêu cầu

# Gemfile

gem 'mini_magick'

Sân chơi

Vui lòng thử một số tính năng của MiniMagick trước khi xây dựng. Mở bảng điều khiển Rails

image.resize "421x660"
8 and run as after

image = MiniMagick::Image.open["//s2.anh.im/2018/08/20/1A7438f7f70218a5b4.jpg"]

# Get the Image's width
image.width # 721

# Get the image's height
image.height #960

Giờ thì chúng ta resize em nó

image.resize "421x660"

Giành chiều rộng, chiều cao mới của hình

p "Width is => #{image.width} and height is => #{image.height}"

Hình mới đc resize lưu ở đâu?

image.path

Hình ảnh mới này được lưu trữ trong một đường dẫn tạm thời và sẽ bị mất. Để lưu nó vào đĩa, chỉ cần gọi phương thức ghi

________số 8_______

Chuyển đổi hình ảnh

Một trong những hoạt động thường xuyên nhất bạn sẽ làm là chuyển đổi hình ảnh sang các định dạng khác nhau. MiniMagick làm cho điều này rất đơn giản

image.format "png"
image.write "public/uploads/test.png"

Bạn cũng có thể kết hợp nhiều thao tác trong một khối duy nhất

image.combine_options do |i|
  i.resize "421x660"
  i.flip
  i.rotate "-45"
  i.blur "0x15"
end
image.write "public/uploads/blur.png"

![Some weird result][blur.png]

Xử lý hình ảnh với Rails

Đang tải tệp lên

brew install imagemagick
0

Sau đó

brew install imagemagick
1

Tạo Trình tải lên và chỉnh sửa nó

brew install imagemagick
2

Tạo một mô hình chứa ảnh

brew install imagemagick
3

Chỉnh sửa image_uploader. rb to handle image đã tải lên

brew install imagemagick
4

Hãy thử tạo đối tượng ảnh mới từ Rails Console

brew install imagemagick
5

Hình ảnh được tải lên có sẵn trong store_dir. Tuy nhiên, hình ảnh được tải lên sẽ được xử lý ngay lập tức và ghi đè bằng hình ảnh 200 × 200. Chúng tôi sẽ không có bản sao của tệp gốc cho bất kỳ chỉnh sửa nào trong tương lai. Để tránh điều này, hãy tạo nhiều phiên bản của ảnh

brew install imagemagick
6
brew install imagemagick
7

Bạn có nhận thấy rằng những hình ảnh này được tạo ngay lập tức không? . Trong một sản phẩm ứng dụng xuất ra, nó sẽ không được mong muốn để tạo ra nhiều phiên bản của một hình ảnh trong cùng một luồng. Thay vào đó, chúng ta nên xử lý điều kiện này

brew install imagemagick
8

Bây giờ, khi chúng tôi thử tạo một hình ảnh mới, phiên bản bìa sẽ không được tạo. Chúng tôi có thể kích hoạt thủ thuật điều khiển này khi cần bằng cách chạy

brew install imagemagick
9

Đoạn mã này được chạy chậm và chúng ta có thể thực hiện bước này thêm một bước nữa bằng cách chạy nó trong Resque

# Gemfile

gem 'mini_magick'
0

and, enqueue it

# Gemfile

gem 'mini_magick'
1

Cải thiện hiệu suất

# Gemfile

gem 'mini_magick'
2

chỉnh sửa trình tải lên

# Gemfile

gem 'mini_magick'
3

Nó sẽ nén tất cả các hình ảnh mà không làm mất bất kỳ hình ảnh nào. Cách hoạt động này là tất cả thông tin siêu dữ liệu về hình ảnh bị tước đi. Điều này làm giảm kích thước khoảng 20-30%

Chủ Đề