Làm mờ background trong Android Studio

Tự động làm mờ nền là ứng dụng nhanh chóng và dễ sử dụng để tạo ra các bức ảnh hiệu ứng nền mờ tuyệt vời.

--Đặc trưng---
- Ứng dụng chọn vùng lấy nét thông minh tự động nhận diện vùng lấy nét.
- Ứng dụng hiệu ứng Làm mờ nền cung cấp hàng chục hiệu ứng làm mờ
- Điều chỉnh cường độ làm mờ hình ảnh điều chỉnh cường độ làm mờ hình ảnh, để tạo ra hiệu ứng làm mờ lớn hơn, cho hình ảnh bị mờ bằng cách sử dụng trình chỉnh sửa ảnh mờ này hoặc ứng dụng làm mờ tốc độ.
- Tạo hiệu ứng mờ chân thực nhất với nhiều kiểu khẩu độ khác nhau giống như máy ảnh DSLR.
- Bạn có thể nhấn mạnh điểm sáng trên nền bằng hiệu ứng Bokeh và hiệu ứng lớp phủ như tuyết, lông vũ, ...

- Ứng dụng chụp ảnh chân dung có rất nhiều công cụ làm mờ ảnh, bokeh. Sử dụng chúng, bạn có thể dễ dàng tạo Hiệu ứng Bokeh cho DSLR của riêng mình.

- Blur image background là một trình chỉnh sửa ảnh làm mờ hiệu quả, có thể được sử dụng để làm mờ các phần không mong muốn của ảnh một cách hiệu quả. Nó sẽ làm cho hình ảnh của bạn trông giống như năng suất máy ảnh dslr bị che khuất

- Ứng dụng Hiệu ứng Bokeh là ứng dụng hiệu ứng mờ cuối cùng của bạn. Giờ đây, bạn không cần máy ảnh DSLR hoặc bạn không cần phải là một nhiếp ảnh gia chuyên nghiệp để tạo hiệu ứng Nền mờ kiểu DSLR trên ảnh của bạn.

- Hiệu ứng Làm mờ Máy ảnh DSLR là sự kết hợp hoàn hảo giữa vẻ đẹp và chức năng. Và nó là lý tưởng để tạo Ảnh AfterFocus hoặc Ảnh nền mờ. Thử ngay bây giờ!!

ImageView là loại View dùng để hiện thị tài nguyên hình ảnh như các ảnh Bitmap, các ảnh Drawable. Nó cũng cung cấp các chức năng tùy biến khác nhau như đổ màu nhuộm (tint) vào ảnh, co kéo/cắt ảnh khi hiện thị trên View.

Triển khai hình XML ImageView

Tài nguyên ảnh cần hiện thị gán vào thuộc tính android:src hoặc dùng phương thức phù hợp với loại ảnh hiện thị như: setImageBitmap(Bitmap bm), setImageDrawable(Drawable drawable), setImageResource(int resId), setImageURI(Uri uri)

Thay đổ tỷ lệ / căn chỉnh ảnh hiện thi trong ImageView

Thuộc tính android:scaleType dùng để thiết lập thu phóng ảnh, nhận các giá trị như: fitXY, center, fitXY ..., ví dụ như android:scaleType="center" hoặc code Java: imageView.setScaleType(ImageView.ScaleType.CENTER);

Giá trịSử dụng


    

        

        
        
        
        
        
        

        
    


    

0ImageView.ScaleType.CENTER : Đặt ảnh vào giữa ImageView, không có thay đổi tỷ lệ ảnh.


    

        

        
        
        
        
        
        

        
    


    

1ImageView.ScaleType.CENTER_CROP: Đặt ảnh vào giữa ImageView, có thu phóng ảnh (nhưng giữ nguyên tỉ lệ cao / rộng) sao cho ảnh phủ kín hết cả ImageView (phần thừa bị cắt)


    

        

        
        
        
        
        
        

        
    


    

2ImageView.ScaleType.CENTER_INSIDE: Đặt ảnh vào giữa ImageView, có thu phóng ảnh (nhưng giữ nguyên tỉ lệ cao / rộng) sao cho toàn bộ các phần của ảnh hiện thị trên ImageView.


    

        

        
        
        
        
        
        

        
    


    

3ImageView.ScaleType.FIT_CENTER: Đặt ảnh vào giữa ImageView, có thu phóng ảnh (nhưng giữ nguyên tỉ lệ cao / rộng) sao cho toàn bộ các phần của ảnh hiện thị trên ImageView.


    

        

        
        
        
        
        
        

        
    


    

4


    

        

        
        
        
        
        
        

        
    


    

5ImageView.ScaleType.FIT_END, ImageView.ScaleType.FIT_START: Co ảnh vừa View, vị trí ảnh ở cuối (ở đầu) ImageView


    

        

        
        
        
        
        
        

        
    


    

6ImageView.ScaleType.FIT_XY: Co ảnh vừa khít cả chiều rộng và cao.

Ví dụ:



    

        

        
        
        
        
        
        

        
    


    

7



    

        

        
        
        
        
        
        

        
    


    



    

        

        
        
        
        
        
        

        
    


    

8

public class MainActivity extends AppCompatActivity {
    ImageView imageView;
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageView = findViewById(R.id.image);
        textView = findViewById(R.id.textview);

        findViewById(R.id.btn_center).setOnClickListener(clickListener);
        findViewById(R.id.btn_centerCrop).setOnClickListener(clickListener);
        findViewById(R.id.btn_centerInside).setOnClickListener(clickListener);
        findViewById(R.id.btn_fitCenter).setOnClickListener(clickListener);
        findViewById(R.id.btn_fitEnd).setOnClickListener(clickListener);
        findViewById(R.id.btn_fitStart).setOnClickListener(clickListener);
        findViewById(R.id.btn_fitXY).setOnClickListener(clickListener);
    }

    View.OnClickListener clickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ImageView.ScaleType scaletype = ImageView.ScaleType.CENTER;
            switch (view.getId())
            {
                case R.id.btn_center:
                    scaletype = ImageView.ScaleType.CENTER;
                    break;
                case R.id.btn_centerCrop:
                    scaletype = ImageView.ScaleType.CENTER_CROP;
                    break;
                case R.id.btn_centerInside:
                    scaletype = ImageView.ScaleType.CENTER_INSIDE;
                    break;
                case R.id.btn_fitCenter:
                    scaletype = ImageView.ScaleType.FIT_CENTER;
                    break;
                case R.id.btn_fitEnd:
                    scaletype = ImageView.ScaleType.FIT_END;
                    break;
                case R.id.btn_fitStart:
                    scaletype = ImageView.ScaleType.FIT_START;
                    break;
                case R.id.btn_fitXY:
                    scaletype = ImageView.ScaleType.FIT_XY;
                    break;

            }

            imageView.setScaleType(scaletype);
            textView.setText(((Button)view).getText());
        }
    };
}
Làm mờ background trong Android Studio

Một số thiết lập với ImageView

android:adjustViewBounds nếu nhận giá trị



    

        

        
        
        
        
        
        

        
    


    

9 thì các ImageView tự động co biên vừa với ảnh. (cần có thiết lập chiều rộng hoặc cao là wrap_content)

Để gán ảnh từ tài nguyên trong ứng dụng:

imageView.setImageResource(R.drawable.image);

Để tải ảnh từ thiết bị:

//BitmapFactory.decodeFile("/sdcard/anh.png");
Bitmap bMap = BitmapFactory.decodeFile("đường_dẫn_đến_file_ảnh");
imageView.setImageBitmap(bMap);

Có thể nạp ảnh từ tài nguyên thành Bitmap rồi gán vào ImageView:

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
imageView.setImageBitmap(bMap);

Lấy Drawable từ tài nguyên, rồi gán vào ImageView

Drawable drawable = AppCompatResources.getDrawable(this, R.id.imageresId);
imageView.setImageDrawable(drawable);

ImageButton kế thừa từ ImageView nó biểu diễn một nút bấm, nhưng có một chút khác với Button đã biết là nó hiện thị ảnh ở giữa nút bấm thay vì dòng chữ.