Java 无法在Kotlin使用CameraKit拍照
我试着用照相机来拍照。到目前为止,我已经能够实现CameraKit并从我的相机获得预览流 这是我的密码:Java 无法在Kotlin使用CameraKit拍照,java,android,kotlin,android-camera,Java,Android,Kotlin,Android Camera,我试着用照相机来拍照。到目前为止,我已经能够实现CameraKit并从我的相机获得预览流 这是我的密码: package com.example.testapp import com.camerakit.CameraKitView import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast impo
package com.example.testapp
import com.camerakit.CameraKitView
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_camera_screen.*
class cameraScreen : AppCompatActivity() {
private lateinit var cameraKitView:CameraKitView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_camera_screen)
cameraKitView = findViewById(R.id.camera)
photoButton.setOnClickListener{
cameraKitView.captureImage(object:CameraKitView.ImageCallback() {
override fun onImage(cameraKitView:CameraKitView, capturedImage:ByteArray) {
// capturedImage contains the image from the CameraKitView.
Toast.makeText(applicationContext,"Image Taken", Toast.LENGTH_SHORT).show()
}
})
}
}
override fun onStart() {
super.onStart()
cameraKitView.onStart()
}
override fun onResume() {
super.onResume()
cameraKitView.onResume()
}
public override fun onPause() {
cameraKitView.onPause()
super.onPause()
}
override fun onStop() {
cameraKitView.onStop()
super.onStop()
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
cameraKitView.onRequestPermissionsResult(requestCode, permissions, grantResults)
}
}
如您所见,我尝试将此Java代码转换为上面的Kotlin。但是,在这一行-cameraKitView.captureImage(对象:cameraKitView.ImageCallback(){
我一直收到一个错误
此类没有构造函数
我在ImageCallback()上遇到了这个错误。我已经尝试了许多关于如何从CameraKit捕获图像的示例,但它们都是Java的,当我转换它们时,它们都会给我相同的错误
我如何解决这个问题?
此外,在用户点击按钮保存图像(或拒绝图像,在这种情况下,我返回相机)之前,如何预览图像
使现代化
从cameraKitView.captureImage(对象:cameraKitView.ImageCallback()
行中删除了圆括号。这使错误消失,并显示了烤面包片,但应用程序没有响应,因此我不知道是否正在拍摄照片
现在的新行是
cameraKitView.captureImage(对象:cameraKitView.ImageCallback
我认为您不应该使用
cameraKitView.captureImage(object:CameraKitView.ImageCallback()
事实上,因为我也不知道如何使用它
如果可能,请尝试以下方法获取捕获的图像。它将按阵列样式返回图像,您可以使用它执行您想要的操作
btnLaunchCameraKit.setOnClickListener {
cameraKitView.captureImage { cameraKitView, bytes ->
val bitmap = BitmapFactory.decodeByteArray(bytes,0,bytes.size) as Bitmap
cameraImage3.setImageBitmap(bitmap)
}
}
非常感谢你的回答。然而,我放弃了这个项目,所以我不知道它是否正确。
btnLaunchCameraKit.setOnClickListener {
cameraKitView.captureImage { cameraKitView, bytes ->
val bitmap = BitmapFactory.decodeByteArray(bytes,0,bytes.size) as Bitmap
cameraImage3.setImageBitmap(bitmap)
}
}