Buona Domenica a Tutti,
stavo utilizzando questo codice preso da b4x ( ma non ricordo esattamente dove)
tutto funziona come dovrebbe, crea una bitmap cosi:
		
		
	
	
		 
	
io vorrei che generasse la bitmap anche con il codice sotto, magari anche tramite parametro tipo cosi:
		 
	
allego il codice java, si potrebbe modificare? Grazie mille
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			stavo utilizzando questo codice preso da b4x ( ma non ricordo esattamente dove)
tutto funziona come dovrebbe, crea una bitmap cosi:
io vorrei che generasse la bitmap anche con il codice sotto, magari anche tramite parametro tipo cosi:
allego il codice java, si potrebbe modificare? Grazie mille
			
				B4X:
			
		
		
		Private ImgEan As ImageView
Dim bm As Bitmap
Dim codice as string="8017760987456"
bm = drawEAN13(codice)
ImgEan.Bitmap=bm
        
Sub drawEAN13 (data As String) As Bitmap
    Log("data: " & data)
    Return nativeMe.RunMethod("drawEAN13", Array(data))
    
End Sub
#If Java
import android.graphics.Bitmap;
import android.graphics.Point;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.content.Context;
import java.util.Collection;
import java.util.EnumMap;
import java.util.HashSet;
import java.util.Map;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
public Bitmap drawEAN13 (String data) {
        Bitmap bitmap = encodeAsBitmap(data, 250, 100);
        return bitmap;
}
public Bitmap encodeAsBitmap(String text, int width, int height){
    text = Ean13CheckSum(text);
    MultiFormatWriter writer = new MultiFormatWriter();
    BitMatrix matrix = null;
    try {
        matrix = writer.encode(text, BarcodeFormat.EAN_13, width, height);
    } catch (WriterException ex) {
        ex.printStackTrace();
    }
    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
    for (int x = 0; x < width; x++){
        for (int y = 0; y < height; y++){
            bmp.setPixel(x, y, matrix.get(x,y) ? 0xff000000 : 0xffffffff);
        }
    }
    return bmp;
}
// checksum utility
public String Ean13CheckSum(String Str) {
    int DigitValue = 0; int CodeLen = Str.length();
    int CodeValue[] = new int[CodeLen];
    if(CodeLen < 13) {
       for(int c = 0; c < CodeLen; c ++) {
         CodeValue[c] = Integer.parseInt(Str.substring(c,c+1));
       }
       int Even = CodeValue[0] + CodeValue[2] + CodeValue[4] + CodeValue[6] + CodeValue[8] + CodeValue[10];
       int Odd = (CodeValue[1] + CodeValue[3] + CodeValue[5] + CodeValue[7] + CodeValue[9] + CodeValue[11]) * 3;
       int Sum = Odd + Even;
       DigitValue = 10 - (Sum % 10);
       DigitValue = (DigitValue == 10) ? 0 : DigitValue;
    }
    Str = Str + DigitValue;
    return Str;
}
#End If 
				 
 
		 
 
		 
 
		 
 
		 
						
					 
						
					 
 
		

 
 
		
 
 
		 
 
		 
 
		