Add Data Matrix code (Beta) and add some features to sample app

This commit is contained in:
MOATAZ IBRAHIM ELDESOUKI TAWFEEK MOHAMMED 2017-01-20 09:40:49 +02:00
parent 82ab3315cf
commit 67ee970ce5
15 changed files with 42 additions and 10 deletions

View File

@ -20,10 +20,12 @@ import com.pureix.encodinganddecodinglib.EncodingZxing;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
private static final int QR_CODE = 0;
private static final int PDF_417 = 1;
private static final int QR_CODE = 0;
private static final int PDF_417 = 1;
private static final int DATA_MATRIX = 2;
private static final int AZTEC = 3;
private int currentEncoding = 0;
private int currentEncoding = 2;
ImageView imageView;
@ -53,6 +55,18 @@ public class MainActivity extends AppCompatActivity
.encodeToPDF417("Encoding with zxing", 500, Color.BLACK, Color.WHITE));
break;
}
case DATA_MATRIX:
{
imageView.setImageBitmap(EncodingZxing
.encodeToDataMatrix("Encoding with zxing", 26, 12));
break;
}
case AZTEC:
{
imageView.setImageBitmap(EncodingZxing
.encodeToPDF417("Encoding with zxing", 500, Color.BLACK, Color.WHITE));
break;
}
default:
{
Snackbar.make(view, "Error", Snackbar.LENGTH_LONG)
@ -117,10 +131,10 @@ public class MainActivity extends AppCompatActivity
currentEncoding = QR_CODE;
} else if (id == R.id.navPDF417) {
currentEncoding = PDF_417;
} else if (id == R.id.nav_slideshow) {
} else if (id == R.id.navDataMatrix) {
currentEncoding = DATA_MATRIX;
} else if (id == R.id.nav_manage) {
currentEncoding = AZTEC;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

View File

@ -14,9 +14,10 @@
tools:showIn="@layout/app_bar_main">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_menu_gallery"
android:scaleType="fitCenter"
android:id="@+id/imageView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />

View File

@ -11,9 +11,9 @@
android:icon="@android:drawable/ic_dialog_dialer"
android:title="PDF 417" />
<item
android:id="@+id/nav_slideshow"
android:id="@+id/navDataMatrix"
android:icon="@android:drawable/ic_dialog_dialer"
android:title="Slideshow" />
android:title="Data Matrix" />
<item
android:id="@+id/nav_manage"
android:icon="@android:drawable/ic_dialog_dialer"

View File

@ -6,6 +6,7 @@ import android.graphics.Color;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.datamatrix.DataMatrixWriter;
import com.google.zxing.pdf417.PDF417Writer;
import com.google.zxing.qrcode.QRCodeWriter;
@ -108,6 +109,22 @@ public class EncodingZxing
return bmp;
}
public static Bitmap encodeToDataMatrix(String text, int width, int height){
DataMatrixWriter writer = new DataMatrixWriter();
BitMatrix matrix = null;
matrix = writer.encode(text, BarcodeFormat.DATA_MATRIX, width, height);
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) ? Color.BLACK : Color.WHITE);
}
}
return bmp;
}
public static Bitmap encodeToQrCode(String text, int width, int height,
int dotColor, int backgroundColor){
QRCodeWriter writer = new QRCodeWriter();