20/07/2019, 09:50

Android: Xây dựng bộ lọc hình ảnh như Instagram

Ngày nay các bộ lọc hình ảnh khá phổ biến trong nhiều ứng dụng Android . Instagram nổi tiếng với tính năng bộ lọc phổ biến và có lẽ là ứng dụng đầu tiên giới thiệu bộ lọc hình ảnh cho thế giới Android. Có rất nhiều ứng dụng chỉnh sửa hình ảnh khác cung cấp các bộ lọc hình ảnh và các ...

Xây dựng bộ lọc hình ảnh như Instagram

Ngày nay các bộ lọc hình ảnh khá phổ biến trong nhiều ứng dụng Android. Instagram nổi tiếng với tính năng bộ lọc phổ biến và có lẽ là ứng dụng đầu tiên giới thiệu bộ lọc hình ảnh cho thế giới Android. Có rất nhiều ứng dụng chỉnh sửa hình ảnh khác cung cấp các bộ lọc hình ảnh và các tính năng chỉnh sửa hình ảnh.

Trong bài viết này, chúng ta sẽ tìm hiểu cách xây dựng bộ lọc hình ảnh như Instagram. Chúng ta không phát triển chính xác các bộ lọc hình ảnh trong Instagram mà chúng ta sẽ sử dụng các bộ lọc mà thư viện cung cấp.

  Top 5 ngôn ngữ lập trình ứng dụng Android bạn nên học
  3 xu hướng phát triển ứng dụng mobile Android năm 2019

Bộ lọc hình ảnh như Instagram được xây dựng như thế nào

Thông thường các thao tác xử lý ảnh sẽ được thực hiện bằng ngôn ngữ native C / C ++ bản địa. Trong Android, bạn có thể viết thư viện của mình bằng C hoặc C ++ và sử dụng JNI (Java Native Interface) để làm cho các hàm có thể truy cập thông qua code java. Bạn cũng có thể xem xét sử dụng các thư viện xử lý ảnh phổ biến như openCV để tạo thư viện bộ lọc của riêng bạn.

Chúng tã sẽ sử dụng thư viện bộ lọc hình ảnh hiện có trong bài viết này.

Sử dụng thư viện AndroidPhotoFilters

Trong bài viết này, chúng ta sẽ sử dụng thư viện bộ lọc hình ảnh AndroidPhotoFilters được phát triển bởi Zomato. Thư viện này cung cấp các thao tác chỉnh sửa hình ảnh cơ bản như kiểm soát Độ sáng, Độ bão hòa, Độ tương phản và một vài bộ lọc hình ảnh.

Kết hợp tất cả các tính năng này với nhau, bạn có thể tạo ra một app chỉnh sửa hình ảnh cơ bản.

Cũng cần nhớ rằng thư viện rất cơ bản, bạn không thể đạt được các bộ lọc tuyệt vời như Instagram bằng cách này. Để xây dựng bộ lọc chính xác như Instagram, rất nhiều code Native C/C++ phải được thực hiện.

Nhưng chúng ta sẽ cố gắng đạt được các bộ lọc giống như Instagram.

Sử dụng thư viện như sau:

Xây dựng ứng dụng

Xây dựng bộ lọc hình ảnh như Instagram

  1. Tạo project mới File ⇒ New Project => Basic Activity

2. Sử dụng các thư viện cần thiết sau trong app/build.gradle:

3. Thêm các resource trong strings.xmlcolors.xmldimens.xmlstyles.xml:

4. Thêm các Permission sau:

5. Thêm menu res => menu => menu_main.xml:

6. Tạo package uitls => BitmapUtils.java: