动态收款码边框改变颜色的方法是什么?-远程收款码服务商
【温馨提示】如果您有办理pos机的需求或者疑问,可以联系官方微信 18127011016
动态收款码边框改变颜色的动态方法是什么?
在商家使用动态收款码进行收款的时候,有时候会为了不同的收款色的什远商场景而需要改变收款码边框的颜色。其实,码边这个问题的框改款码解决方案非常简单,只需要找到对应的变颜支付宝或微信支付的SDK文件即可。以下是法服务详细的步骤:
1.首先,我们需要下载对应的程收支付宝或微信支付SDK文件,并进行相关的动态接入工作。
2.找到SDK文件中的收款色的什远商代码,一般是码边在生成二维码的函数中进行设置。
3.对于支付宝SDK,框改款码可以通过修改如下代码实现边框颜色的变颜改变:
//生成二维码时,添加边框(可设置颜色和宽度)
QRCodeWriter writer = new QRCodeWriter();
BitMatrix bitMatrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints);
int[] pixels = new int[width * height];
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if (bitMatrix.get(x, y)) {
pixels[y * width + x] = Color.BLACK;//二维码主颜色
} else {
pixels[y * width + x] = Color.WHITE;//二维码背景色
}
}
}
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
//添加边框(可设置颜色和宽度)
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.WHITE);
Paint paint = new Paint();
paint.setColor(Color.parseColor("#FF0000"));//边框颜色
paint.setStrokeWidth(10);//边框宽度
paint.setStyle(Paint.Style.STROKE);
canvas.drawRect(new Rect(0, 0, width, height), paint);
上面代码中的法服务 "#FF0000" 就代表要修改边框的颜色,可以根据自己的程收需要进行设置。
4.而对于微信支付SDK,动态改变边框颜色的代码如下:
private static final int BLACK = 0xff000000;
private static final int WHITE = 0xffffffff;
private static final int FRAME_COLOR = 0xfff24442;//边框颜色
private static final int FRAME_WIDTH = 8;//边框宽度
/
*** 绘制二维码(新增边框颜色)
*/
public static Bitmap createQRCodeWithFrameColor(String content, int width, int height, int color) {
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
try {
BitMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
int widthPixels = matrix.getWidth();
int heightPixels = matrix.getHeight();
int[] pixels = new int[widthPixels * heightPixels];
for (int y = 0; y < heightPixels; y++) {
for (int x = 0; x < widthPixels; x++) {
if (matrix.get(x, y)) {
pixels[y * widthPixels + x] = BLACK;
} else {
pixels[y * widthPixels + x] = WHITE;
}
}
}
Bitmap bitmap = Bitmap.createBitmap(widthPixels, heightPixels, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, widthPixels, 0, 0, widthPixels, heightPixels);
//添加边框
Canvas canvas = new Canvas(bitmap);
int offset = (widthPixels - (widthPixels - FRAME_WIDTH * 2)) / 2;
Rect rect = new Rect(offset, offset, widthPixels - offset, heightPixels - offset);
Paint paint = new Paint();
paint.setColor(FRAME_COLOR);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(FRAME_WIDTH);
canvas.drawRect(rect, paint);
return bitmap;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
同样的,修改 "#fff24442" 即可实现边框颜色的改变。
总之,只要对应的SDK文件进行相关的修改即可实现动态收款码边框颜色的改变。当然,在修改之前一定要注意备份文件,避免修改错误导致无法使用。希望以上内容对您有所帮助!
本文地址:http://ai.bpen.cn/cp52e999057.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。