Android生成帶圖片的二維碼
public class MainActivity extends Activity { private EditText etCompany; private EditText etPhone; private EditText etEmail; private EditText etWeb; private Bitmap logo; private static final int IMAGE_HALFWIDTH = 40;//寬度值,影響中間圖片大小 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲得資源圖片,可改成獲取本地圖片或拍照獲取圖片 logo=BitmapFactory.decodeResource(super.getResources(),R.drawable.y014); etCompany =(EditText) findViewById(R.id.etCompany); etPhone=(EditText) findViewById(R.id.etPhone); etEmail =(EditText) findViewById(R.id.etEmail); etWeb =(EditText) findViewById(R.id.etWeb); findViewById(R.id.but).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String company=etCompany.getText().toString().trim() ; String phone =etPhone .getText().toString().trim() ; String email = etEmail.getText().toString().trim() ; String web = etWeb.getText().toString().trim() ; //二維碼中包含的文字資訊 String contents= "BEGIN:VCARD\nVERSION:3.0\nORG:"+company+"\nTEL:"+phone+"\nURL:"+web+"\nEMAIL:"+email+"\nEND:VCARD"; try { //呼叫方法createCode生成二維碼 Bitmap bm=createCode(contents,logo,BarcodeFormat.QR_CODE); ImageView img=(ImageView)findViewById(R.id.imgCode) ; //將二維碼在介面中顯示 img.setImageBitmap(bm); } catch (WriterException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } /** * 生成二維碼 * @param string 二維碼中包含的文字資訊 * @param mBitmap logo圖片 * @param format 編碼格式 * @return Bitmap 點陣圖 * @throws WriterException */ public Bitmap createCode(String string,Bitmap mBitmap, BarcodeFormat format) throws WriterException { Matrix m = new Matrix(); float sx = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getWidth(); float sy = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getHeight(); m.setScale(sx, sy);//設定縮放資訊 //將logo圖片按martix設定的資訊縮放 mBitmap = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap.getWidth(), mBitmap.getHeight(), m, false); MultiFormatWriter writer = new MultiFormatWriter(); Hashtable<EncodeHintType, String> hst = new Hashtable<EncodeHintType, String>(); hst.put(EncodeHintType.CHARACTER_SET, "UTF-8");//設定字元編碼 BitMatrix matrix = writer.encode(string, format, 400, 400, hst);//生成二維碼矩陣資訊 int width = matrix.getWidth();//矩陣高度 int height = matrix.getHeight();//矩陣寬度 int halfW = width / 2; int halfH = height / 2; int[] pixels = new int[width * height];//定義陣列長度為矩陣高度*矩陣寬度,用於記錄矩陣中畫素資訊 for (int y = 0; y < height; y++) {//從行開始迭代矩陣 for (int x = 0; x < width; x++) {//迭代列 if (x > halfW - IMAGE_HALFWIDTH && x < halfW + IMAGE_HALFWIDTH && y > halfH - IMAGE_HALFWIDTH && y < halfH + IMAGE_HALFWIDTH) {//該位置用於存放圖片資訊 //記錄圖片每個畫素資訊 pixels[y * width + x] = mBitmap.getPixel(x - halfW + IMAGE_HALFWIDTH, y - halfH + IMAGE_HALFWIDTH); } else { if (matrix.get(x, y)) {//如果有黑塊點,記錄資訊 pixels[y * width + x] = 0xff000000;//記錄黑塊資訊 } } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 通過畫素陣列生成bitmap bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; } }
相關推薦
QRCode 掃描二維碼、掃描條形碼、相簿獲取圖片後識別、生成帶 Logo 二維碼、支援微博微信 QQ 二維碼掃描樣式
目錄功能介紹根據之前公司的產品需求,參考 barcodescanner 改的,希望能幫助到有生成二維碼、掃描二維碼、識別圖片二維碼等需求的猿友。修改幅度較大,也就沒準備針對 barcodescanner 庫提交PR。 ZXing 生成可自定義顏色、帶 logo 的二維碼 ZX
基於PHP類庫PHPqrCode生成帶LOGO二維碼
PHPqrCode是一個PHP二維碼生成類庫,利用它可以輕鬆生成二維碼,官網提供了下載和多個演示demo,檢視地址:http://phpqrcode.sourceforge.net/。下載官網提供的類庫後,只需要使用phpqrcode.php就可以生成二維碼了,當然您的PHP環境必須開啟支援GD2。
thinkphp 使用phpqrcode生成帶logo二維碼 並生成海報
1-下載類庫 composer require aferrandini/phpqrcode -vvv 2-common的方法 //$text 文字的內容 //$logo logo圖片 function code($text,$logo){ //二維碼圖片儲存路徑
用phpqrcode生成帶logo二維碼, 需注意幾點,不注意是要進坑的哦.
先附上程式碼: include '../vendor/phpqrcode/phpqrcode.php'; $value = 'http://127.0.0.1/txw1958/'; //二維碼內容 $errorCorrectionLevel = 'L';//容錯級別
URL 生成帶文字二維碼
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"/> </head> <body
兩種JAVA生成帶logo二維碼的方法
一、方法一 只使用一個zxing.jar生成二維碼,下載地址http://central.maven.org/maven2/com/google/zxing/core/  
Android生成自定義二維碼
/** * 生成自定義二維碼 * * @param content 字串內容 * @param width 二維碼寬度 * @param height 二維碼高度 * @param characte
Android生成和掃描二維碼
現在高階大氣上檔次的Android程式都會有二維碼生成和掃描的功能, 因為我最近在做一個專案,需要使用到二維碼的生成和掃描,經過查詢資料,使用的是通過zxing來生成和掃描二維碼 簡化好的二維碼核心庫:https://download.csdn.net/download/qq_31844
微信引流活動:生成帶參二維碼、傳送海報、
參加活動-生成帶引數二維碼-將二維碼與海報進行合併-推動給客戶-客戶分享到朋友圈-朋友圈裡朋友通過二維碼關注公眾號-再次生成二維碼海報-迴圈往復-引流! 程式碼實現: 1.獲取臨時二維碼ticket /// <summa
微信服務號生成帶引數二維碼
為了滿足使用者渠道推廣分析和使用者帳號繫結等場景的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。 目前有2種類型的二維碼: 1、臨時二維碼,是有過期時間的,最長可以設定為在
微信公眾平臺開發生成帶引數二維碼
一、場景二維碼 為了滿足使用者渠道推廣分析的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。 目前有2種類型的二維碼,分別是臨時二維碼和永久二維碼,前者有過期時間,最大為1800秒,但能夠生成較
微信公眾號 訂閱號 生成帶引數二維碼
1.公眾號的任意一篇文章頁連結 例如: http://mp.weixin.qq.com/s?__biz=MjM5NzAwNzMwMQ==&mid=2655787844&idx=3&
微信公眾號最佳實踐 ( 4.6)生成帶引數二維碼
<?php $appid = "wxd1fc65357aca6efa"; $appsecret = "55a5a3a73b3f1603240a1c27cb0b270f"; $url = "https://api.weixin.qq.com/cgi-bin/token?grant
微信公眾號開發生成帶引數二維碼的功能
一、使用者掃描帶場景值二維碼時,可能推送以下兩種事件: 如果使用者還未關注公眾號,則使用者可以關注公眾號,關注後微信會將帶場景值關注事件推送給開發者。 如果使用者已經關注公眾號,在使用者掃描後會自動進入會話,微信也會將帶場景值掃描事件推送給開發者。 獲取帶引數的二維
微信小程式請求二維碼:使用者點選按鈕生成帶參二維碼
目標: 請求二維碼並展示 步驟: 使用者點選按鈕生成二維碼 步驟: 1、微信小程式往後臺請求二維碼 2、後臺(java/php) 根據微信小程式資訊往微信端請求tonken 3、後臺得到tonken後往微信端請求二維碼圖片 4、後臺得到圖片後儲存在伺服器上,
微平臺開發之生成帶引數二維碼
一、場景二維碼 為了滿足使用者渠道推廣分析的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。 目前有2種類型的二維碼,分別是臨時二維碼和永久二維碼,前者有過期時間,最大為1800秒,但能夠生
Java微信公眾平臺開發之生成帶參二維碼
微信官方提供的生成二維碼介面得到的是當前公眾號的二維碼。 目前有2種類型的二維碼: 1、臨時二維碼,是有過期時間的,最長可以設定為在二維碼生成後的30天(即2592000秒)後過期,但能夠生成較多數量,主要用於帳號繫結等不要求二維碼永久儲存的業務場景 2
微信公眾號開發(十一)生成帶引數二維碼
公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。 目前有2種類型的二維碼: 1、臨時二維碼,是有過期時間的,最長可以設定為在二維碼生成後的30天(即2592000秒)後過期,但能夠生成較多數量。臨時
C#呼叫ThoughtWorks.QRCode.dll生成帶引數二維碼
ThoughtWorks.QRCode.Codec.QRCodeEncoder encoder = new QRCodeEncoder(); encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//編碼方式(注意:BYTE能支援中文
PHP微信小程式生成帶參二維碼getwxacodeunlimit
老闆最近有點飄了,他要在PC端的網站放一個微信小程式的二維碼,並且掃描這個二維碼以後要跳到小程式對應的房源詳情頁。 這是微信官方給出的文件,連線地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.