日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了緩沖區(qū)Qrcode圖像未加載的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

當(dāng)前我正在嘗試將Qrcode加載到緩沖區(qū)中,以便當(dāng)場顯示。

這是我當(dāng)前對代碼的修訂。

package wallettemplate;

import com.google.zxing.*;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.QRCodeWriter;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;

import static wallettemplate.MainPage.kit;

public class BackEnd{
    public static final String QR_CODE_IMAGE_PATH = "./MyQRCode.png";
    public static String decodeQRCode(File qrCodeimage) throws IOException {
        BufferedImage bufferedImage = ImageIO.read(qrCodeimage);
        LuminanceSource source = new BufferedImageLuminanceSource(bufferedImage);
        BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
        try {
            Result result = new MultiFormatReader().decode(bitmap);
            return result.getText();
        } catch (NotFoundException e) {
            System.out.println("There is no QR code in the image");
            return null;
        }
    }
    public static void generateQRCodeImage(String text, int width, int height, String filePath) throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);

        Path path = FileSystems.getDefault().getPath(filePath);
        MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
    }
    public static String gbal(){
        String balance = kit.wallet().getBalance().toFriendlyString();
        return balance;
    }
    public static String purchase(double amount){
        String text;
        try {
            generateQRCodeImage("bitcoin:"+kit.wallet().currentReceiveAddress().toString()+"?amount="+String.format("%.7f",amount), 20, 20, QR_CODE_IMAGE_PATH);
            text = "QR Code generated. - "+kit.wallet().currentReceiveAddress().toString();
        } catch (WriterException e) {
            text = "Could not generate QR Code, WriterException :: " + e.getMessage();
        } catch (IOException e) {
            text = "Could not generate QR Code, IOException :: " + e.getMessage();
        }
        return text;
    }
    public static String refund(){
        String text;
        try {
            File file = new File(QR_CODE_IMAGE_PATH);
            String decodedText = decodeQRCode(file);
            if(decodedText == null) {
                text = "No QR Code found in the image";
            } else {
                //text = "Decoded text = " + decodedText + " and the amount is "+value;
                String[] parts = decodedText.split(":");
                String[] amnt = parts[1].split("\?");
                String[] finn = amnt[1].split("=");
                text = "Type: " + parts[0] + "
Address: " + amnt[0] + "
Amount: " + finn[1];
                String[] linkparam = {parts[0],amnt[0],finn[1]};
                text = text + "
" + linkparam[0] + " - " + linkparam[1] + " - " + linkparam[2];

            }
        } catch (IOException e) {
            text = "Could not decode QR Code, IOException :: " + e.getMessage();
        }
        return text;
    }
}

上面是處理我需要的所有函數(shù)的類。

當(dāng)我加載下一個內(nèi)容面板時,它不會加載存儲的qrcode。但當(dāng)我關(guān)閉程序并加載它時,放入一個新的量,它會讀取上次的二維碼。

我用這個來稱呼它。

btnConfirm.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                BackEnd.purchase(Double.parseDouble(lblfinal.getText()));
                parentForm.showPanel(MainPage.PPROCESS);
            }
        });

生成Qrcode時沒有任何問題。

當(dāng)我在JLabel中使用圖像讀取它時,我使用此代碼。

private void createUIComponents() {
        ImageIcon imageIcon = new ImageIcon("MyQRCode.png");
        Image image = imageIcon.getImage();
        Image newimg = image.getScaledInstance(200, 200,  java.awt.Image.SCALE_SMOOTH);
        imageIcon = new ImageIcon(newimg);
        lblQRCode = new JLabel(imageIcon);
    }

這兩個細分市場屬于不同的類別。我如何才能讓它讀取我實際需要的當(dāng)前文檔?

推薦答案

回答如下。

public static BufferedImage getQRCodeImage(String amount) throws WriterException{
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        BitMatrix bitMatrix = qrCodeWriter.encode("bitcoin:"+kit.wallet().currentReceiveAddress().toString()+"?amount="+String.format("%.7f",Double.parseDouble(amount)), BarcodeFormat.QR_CODE, 200, 200);
        return MatrixToImageWriter.toBufferedImage(bitMatrix);
    }

imageIcon.setImage(BackEnd.getQRCodeImage(cost));
            lblQRCode.setIcon(imageIcon);

這篇關(guān)于緩沖區(qū)Qrcode圖像未加載的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標(biāo)簽:Qrcode 加載 圖像 緩沖區(qū)
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定