package
com.ayush.gfgapp
import
android.graphics.Bitmap
import
android.graphics.Color
import
androidx.appcompat.app.AppCompatActivity
import
android.os.Bundle
import
android.widget.Button
import
android.widget.EditText
import
android.widget.ImageView
import
android.widget.Toast
import
com.google.zxing.BarcodeFormat
import
com.google.zxing.MultiFormatWriter
class
MainActivity7 : AppCompatActivity() {
private
lateinit var et:EditText
private
lateinit var bt:Button
private
lateinit var img:ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main7)
et = findViewById(R.id.et1)
bt = findViewById(R.id.btn1)
img = findViewById(R.id.img1)
bt.setOnClickListener {
genBarcode()
}
}
private
fun genBarcode() {
val inputValue = et.text.toString().trim()
if
(inputValue.isNotEmpty()) {
val mwriter = MultiFormatWriter()
try
{
val matrix = mwriter.encode(inputValue, BarcodeFormat.CODE_128, img.width, img.height)
val bitmap = Bitmap.createBitmap(img.width, img.height, Bitmap.Config.RGB_565)
for
(i in
0
until img.width) {
for
(j in
0
until img.height) {
bitmap.setPixel(i, j,
if
(matrix[i, j]) Color.BLACK
else
Color.WHITE)
}
}
img.setImageBitmap(bitmap)
}
catch
(e: Exception) {
Toast.makeText(
this
,
"Exception $e"
, Toast.LENGTH_SHORT).show()
}
}
else
{
et.error =
"Please enter a value"
}
}
}