gpt4 book ai didi

android - 在条形码上添加文本

转载 作者:行者123 更新时间:2023-12-03 23:01:53 24 4
gpt4 key购买 nike

我正在尝试在条形码上添加文本。在最后阶段我想把条形码高度变小,把文字放在条形码下面,但我坚持添加文字。我试着从 X、Y 开始玩,但没有运气。我错过了什么?

            MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
try {
BitMatrix bitMatrix = multiFormatWriter.encode(finalLastID, BarcodeFormat.CODE_128, imageView.getWidth(), imageView.getHeight());
Bitmap bitmap = Bitmap.createBitmap(imageView.getWidth(), imageView.getHeight(), Bitmap.Config.RGB_565);
for (int i = 0; i < imageView.getWidth(); i++){
for (int j = 0; j < imageView.getHeight()-scriptTextHeight; j++){
bitmap.setPixel(i,j,bitMatrix.get(i,j)? Color.BLACK:Color.WHITE);
}

}
drawStringonBitmap(bitmap,"TEST", 0, 0, Color.RED, 60, 20, false, imageView.getWidth(), imageView.getHeight());
imageView.setImageBitmap(bitmap);
} catch (WriterException e) {
e.printStackTrace();
}

public static Bitmap drawStringonBitmap(Bitmap src, String string, int beginX, int beginY, int color, int alpha, int size, boolean underline, int width , int height) {

Bitmap result = Bitmap.createBitmap(width, height, src.getConfig());

Canvas canvas = new Canvas(result);

Paint paint = new Paint();
paint.setColor(color);
paint.setAlpha(alpha);
paint.setTextSize(size);
paint.setAntiAlias(true);
paint.setUnderlineText(underline);
canvas.drawBitmap(src, 0, 0, null);
canvas.drawText(string, beginX, beginY, paint);

return result;

}

最佳答案

这似乎是您的代码流中的一个缺陷,您像使用 void 方法一样使用 drawStringOnBitmap() 方法,因为您没有对返回的位图执行任何操作,所以我猜您的代码应该是这样的:

bitmap = drawStringonBitmap(bitmap,"TEST", 0, 0, Color.RED, 60, 20, false, imageView.getWidth(), imageView.getHeight());

那时。

无法测试,但我猜是:

imageView.setImageBitmap(bitmap);

应该设置正确的位图。

关于android - 在条形码上添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65220488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com