ImageFilterView를 사용하면 쉽게 이미지 조정이 가능했습니다.
ConstraintLayout에 포함되어 있으므로 build.gradle에 추가합시다.
2.0.0
이상이 필수이므로 현재 최신 2.0.0-beta2
을 설치했습니다.dependencies {
...
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
...
}
테스트를 위해 SeekBar를 사용하여 조정할 수 있습니다.
<androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/image"
android:src="@drawable/image" />
<SeekBar
android:id="@+id/saturation"
android:max="200"
android:progress="100" />
<SeekBar
android:id="@+id/contrast"
android:max="200"
android:progress="100" />
<SeekBar
android:id="@+id/brightness"
android:max="200"
android:progress="100" />
<SeekBar
android:id="@+id/warmth"
android:max="500"
android:progress="100" />
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 各プロパティによって、最大値を調整
saturation.setOnChangeListener {
image.saturation = it * 2
}
contrast.setOnChangeListener {
image.contrast = it * 2
}
brightness.setOnChangeListener {
image.brightness = it * 2
}
warmth.setOnChangeListener {
image.warmth = it * 5
}
}
}
// SeekBarの値が変更されたときのリスナーを設定
fun SeekBar.setOnChangeListener(listener: ((Float) -> Unit)) {
this.setOnSeekBarChangeListener(object: SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(p0: SeekBar?, p1: Int, p2: Boolean) {
listener(this@setOnChangeListener.progress / this@setOnChangeListener.max.toFloat())
}
override fun onStartTrackingTouch(p0: SeekBar?) {
}
override fun onStopTrackingTouch(p0: SeekBar?) {
}
})
}
조정할 수 있는 주요 항목은 이하.
1 = 보통 0 = 그레이 스케일, 2 = 채도 강화
1 = 보통 0 = 회색, 2 = 고대비
1 = 보통 0 = 새까만, 2 = 밝기 강화
1 = 보통 2 = 빨간색, 5 = 파란색
(문서에서는 이렇게 쓰여져 있지만, 0으로 하면 파랗게 되므로 잘못되어 있을지도)
샘플 코드
Reference
이 문제에 관하여(ImageFilterView를 사용하면 쉽게 이미지 조정이 가능했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tkt989/items/bfbde79d0a33c4fc88aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ImageFilterView를 사용하면 쉽게 이미지 조정이 가능했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkt989/items/bfbde79d0a33c4fc88aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)