「CameraXで露出を調整する」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
[[.NET for Android]] (旧:Xamarin. | [[.NET for Android]] (旧:Xamarin.Android)で[[CameraX]]の話。 | ||
たぶん動く。 | たぶん動く。 | ||
| 18行目: | 18行目: | ||
camera.CameraControl.SetExposureCompensationIndex(index); | camera.CameraControl.SetExposureCompensationIndex(index); | ||
</source> | </source> | ||
<amazon>android jetpack</amazon> | |||
[[category: AndroidX]] | [[category: AndroidX]] | ||
[[category: CameraX]] | [[category: CameraX]] | ||
[[category: Android]] | [[category: Android]] | ||
[[category: . | [[category: .NET for Android]] | ||
2024年7月23日 (火) 05:23時点における最新版
.NET for Android (旧:Xamarin.Android)でCameraXの話。
たぶん動く。 EV (Exposure value、範囲0.0〜1.0)をindex(範囲:ExposureCompensationRange)に変換してSetExposureCompensationIndexに渡す。
// AndroidX.Camera.Core.ICamera camera
// e.Progress: 0 - 100
// ev: 0.0f - 1.0f
var ev = e.Progress / 100f;
var range = camera.CameraInfo.ExposureState.ExposureCompensationRange;
var min = ((Java.Lang.Integer)range.Lower).IntValue();
var max = ((Java.Lang.Integer)range.Upper).IntValue();
var index = (int)((ev * (max - min)) + min);
camera.CameraControl.SetExposureCompensationIndex(index);