Ver código fonte

#impresion de imagen recibe ancho alto y lista de enteros para formar el mapa de bits

israel chavez 6 anos atrás
pai
commit
3206cd5dbe

+ 85 - 66
.idea/workspace.xml

@@ -4,7 +4,11 @@
     <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="1995f4dc-60d3-4cb6-b6b1-07187cdf9fce" name="Default Changelist" comment="" />
+    <list default="true" id="1995f4dc-60d3-4cb6-b6b1-07187cdf9fce" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/lib/printer.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/printer.dart" afterDir="false" />
+    </list>
     <ignored path="$PROJECT_DIR$/.dart_tool/" />
     <ignored path="$PROJECT_DIR$/.idea/" />
     <ignored path="$PROJECT_DIR$/.pub/" />
@@ -27,30 +31,30 @@
       </usages-collector>
       <usages-collector id="statistics.file.extensions.open">
         <counts>
-          <entry key="dart" value="14" />
+          <entry key="dart" value="16" />
           <entry key="gradle" value="2" />
-          <entry key="java" value="6" />
+          <entry key="java" value="7" />
           <entry key="xml" value="1" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.open">
         <counts>
-          <entry key="Dart" value="14" />
+          <entry key="Dart" value="16" />
           <entry key="Groovy" value="2" />
-          <entry key="JAVA" value="6" />
+          <entry key="JAVA" value="7" />
           <entry key="XML" value="1" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
-          <entry key="dart" value="1074" />
+          <entry key="dart" value="1167" />
           <entry key="gradle" value="3" />
           <entry key="java" value="9" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
-          <entry key="Dart" value="1074" />
+          <entry key="Dart" value="1167" />
           <entry key="Groovy" value="3" />
           <entry key="JAVA" value="9" />
         </counts>
@@ -62,10 +66,10 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/lib/printer.dart">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="152">
-              <caret line="8" column="40" selection-start-line="8" selection-start-column="40" selection-end-line="8" selection-end-column="40" />
+            <state relative-caret-position="94">
+              <caret line="50" column="4" selection-start-line="50" selection-start-column="4" selection-end-line="50" selection-end-column="4" />
               <folding>
-                <element signature="e#0#17#0" expanded="true" />
+                <element signature="e#0#20#0" expanded="true" />
               </folding>
             </state>
           </provider>
@@ -73,13 +77,16 @@
       </file>
     </leaf>
   </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
         <option value="$PROJECT_DIR$/android/build.gradle" />
         <option value="$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java" />
-        <option value="$PROJECT_DIR$/lib/printer.dart" />
         <option value="$PROJECT_DIR$/example/lib/main.dart" />
+        <option value="$PROJECT_DIR$/lib/printer.dart" />
       </list>
     </option>
   </component>
@@ -90,12 +97,10 @@
     <option name="height" value="728" />
   </component>
   <component name="ProjectView">
-    <navigator currentView="Scope" currentSubView="Scope 'Project Files'; set:Project Files; class com.intellij.psi.search.scope.ProjectFilesScope" proportions="" version="1">
+    <navigator currentView="ProjectPane" proportions="" version="1">
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="PackagesPane" />
-      <pane id="AndroidView" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
@@ -106,13 +111,13 @@
             <path>
               <item name="printer" type="b2602c69:ProjectViewProjectNode" />
               <item name="printer" type="462c0819:PsiDirectoryNode" />
-              <item name="android" type="462c0819:PsiDirectoryNode" />
+              <item name="example" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="printer" type="b2602c69:ProjectViewProjectNode" />
               <item name="printer" type="462c0819:PsiDirectoryNode" />
-              <item name="android" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="example" type="462c0819:PsiDirectoryNode" />
+              <item name="lib" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="printer" type="b2602c69:ProjectViewProjectNode" />
@@ -131,26 +136,43 @@
               <item name="printer" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
               <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
             </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="PackagesPane" />
+      <pane id="AndroidView">
+        <subPane>
+          <expand>
             <path>
-              <item name="printer" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
-              <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
-              <item name="example" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
+              <item name="printer" type="e9137016:NonAndroidModuleNode" />
             </path>
             <path>
-              <item name="printer" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
-              <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
-              <item name="example" type="9f88c78c:ScopeViewTreeModel$FileNode" />
-              <item name="lib" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
+              <item name="printer" type="e9137016:NonAndroidModuleNode" />
+              <item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
             </path>
             <path>
-              <item name="printer" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
-              <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
-              <item name="lib" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
+              <item name="printer_android" type="e9137016:NonAndroidModuleNode" />
+            </path>
+            <path>
+              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
+              <item name="printer_android" type="e9137016:NonAndroidModuleNode" />
+              <item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
+            </path>
+            <path>
+              <item name="printer" type="1abcf292:AndroidViewProjectNode" />
+              <item name="printer_android" type="e9137016:NonAndroidModuleNode" />
+              <item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
+              <item name="printer" type="462c0819:PsiDirectoryNode" />
             </path>
           </expand>
           <select />
         </subPane>
       </pane>
+      <pane id="AndroidView" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -193,30 +215,30 @@
     <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info id="Capture Tool" />
-      <window_info id="Structure" side_tool="true" />
-      <window_info id="Favorites" side_tool="true" />
-      <window_info id="Build Variants" side_tool="true" />
-      <window_info id="Image Layers" />
-      <window_info id="Designer" />
-      <window_info id="Captures" side_tool="true" />
-      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.24886535" />
-      <window_info anchor="bottom" id="Run" />
-      <window_info anchor="bottom" id="Dart Analysis" weight="0.3295082" />
-      <window_info anchor="bottom" id="Logcat" weight="0.3295082" />
-      <window_info anchor="bottom" id="TODO" />
-      <window_info anchor="bottom" id="Debug" weight="0.4885246" />
-      <window_info anchor="bottom" id="Terminal" weight="0.3295082" />
-      <window_info anchor="bottom" id="Event Log" side_tool="true" />
-      <window_info anchor="bottom" id="Flutter Performance" side_tool="true" />
-      <window_info anchor="bottom" id="Version Control" show_stripe_button="false" />
-      <window_info anchor="bottom" id="Android Profiler" show_stripe_button="false" />
-      <window_info anchor="right" id="Device File Explorer" side_tool="true" />
-      <window_info anchor="right" id="Capture Analysis" />
-      <window_info anchor="right" id="Theme Preview" />
-      <window_info anchor="right" id="Flutter Inspector" />
-      <window_info anchor="right" id="Flutter Outline" />
-      <window_info anchor="right" id="Palette&#9;" />
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.34039333" />
+      <window_info id="Designer" order="1" />
+      <window_info id="Captures" order="2" side_tool="true" />
+      <window_info id="Structure" order="3" side_tool="true" />
+      <window_info id="Build Variants" order="4" side_tool="true" />
+      <window_info id="Image Layers" order="5" />
+      <window_info id="Capture Tool" order="6" />
+      <window_info id="Favorites" order="7" side_tool="true" />
+      <window_info anchor="bottom" id="Dart Analysis" order="0" weight="0.3295082" />
+      <window_info anchor="bottom" id="Run" order="1" />
+      <window_info anchor="bottom" id="TODO" order="2" />
+      <window_info anchor="bottom" id="Android Profiler" order="3" show_stripe_button="false" />
+      <window_info active="true" anchor="bottom" id="Debug" order="4" visible="true" weight="0.4885246" />
+      <window_info anchor="bottom" id="Terminal" order="5" weight="0.3295082" />
+      <window_info anchor="bottom" id="Event Log" order="6" side_tool="true" />
+      <window_info anchor="bottom" id="Flutter Performance" order="7" side_tool="true" />
+      <window_info anchor="bottom" id="Version Control" order="8" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Logcat" order="9" weight="0.3295082" />
+      <window_info anchor="right" id="Device File Explorer" order="0" side_tool="true" />
+      <window_info anchor="right" id="Capture Analysis" order="1" />
+      <window_info anchor="right" id="Theme Preview" order="2" />
+      <window_info anchor="right" id="Flutter Inspector" order="3" />
+      <window_info anchor="right" id="Flutter Outline" order="4" />
+      <window_info anchor="right" id="Palette&#9;" order="5" />
     </layout>
   </component>
   <component name="VcsContentAnnotationSettings">
@@ -247,16 +269,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="399">
-          <caret line="21" column="13" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/example/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="152">
@@ -281,10 +293,17 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/android/src/main/java/edesarrollos/printer/PrinterPlugin.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="266">
+          <caret line="14" column="34" selection-start-line="14" selection-start-column="34" selection-end-line="14" selection-end-column="34" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="494">
-          <caret line="26" column="77" lean-forward="true" selection-start-line="26" selection-start-column="77" selection-end-line="26" selection-end-column="77" />
+        <state relative-caret-position="373">
+          <caret line="55" column="10" lean-forward="true" selection-start-line="55" selection-start-column="10" selection-end-line="55" selection-end-column="10" />
           <folding>
             <element signature="e#0#20#0" expanded="true" />
           </folding>
@@ -293,10 +312,10 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/lib/printer.dart">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="152">
-          <caret line="8" column="40" selection-start-line="8" selection-start-column="40" selection-end-line="8" selection-end-column="40" />
+        <state relative-caret-position="94">
+          <caret line="50" column="4" selection-start-line="50" selection-start-column="4" selection-end-line="50" selection-end-column="4" />
           <folding>
-            <element signature="e#0#17#0" expanded="true" />
+            <element signature="e#0#20#0" expanded="true" />
           </folding>
         </state>
       </provider>

+ 31 - 4
android/src/main/java/edesarrollos/printer/PrinterPlugin.java

@@ -14,7 +14,10 @@ import io.flutter.plugin.common.PluginRegistry.Registrar;
 import com.qs.helper.printer.Device;
 import com.qs.helper.printer.bt.*;
 
+import java.nio.Buffer;
+import java.nio.IntBuffer;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -104,20 +107,44 @@ public class PrinterPlugin implements MethodCallHandler {
         result.success(true);
         break;
       case "printBitmap":
-        Bitmap bitmap = call.argument("bitmap");
-        if (bitmap == null) {
+        Integer h = call.argument("height");
+        if (h == null || h == 0) {
           result.success(false);
           break;
         }
+        Integer w = call.argument("width");
+        if (w == null || w == 0) {
+          result.success(false);
+          break;
+        }
+        int[] mapa = call.argument("map");
+        if (mapa == null) {
+          result.success(false);
+          break;
+        }
+        Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
+        bitmap.copyPixelsFromBuffer(IntBuffer.wrap(mapa));
         BlueService.printImage(bitmap);
         result.success(true);
         break;
       case "printBitmap2":
-        Bitmap bitmap2 = call.argument("bitmap");
-        if (bitmap2 == null) {
+        Integer h2 = call.argument("height");
+        if (h2 == null || h2 == 0) {
+          result.success(false);
+          break;
+        }
+        Integer w2 = call.argument("width");
+        if (w2 == null || w2 == 0) {
+          result.success(false);
+          break;
+        }
+        int[] mapa2 = call.argument("map");
+        if (mapa2 == null) {
           result.success(false);
           break;
         }
+        Bitmap bitmap2 = Bitmap.createBitmap(w2, h2, Bitmap.Config.ARGB_8888);
+        bitmap2.copyPixelsFromBuffer(IntBuffer.wrap(mapa2));
         BlueService.printImage2(bitmap2);
         result.success(true);
         break;

+ 12 - 4
lib/printer.dart

@@ -34,13 +34,21 @@ class Printer {
     return result;
   }
 
-  Future<dynamic> imprimirImagen(List<int> imagen) async {
-    var result = await _channel.invokeMethod('printBitmap', {'bitmap': imagen});
+  Future<dynamic> imprimirImagen(int ancho, int alto, List<int> imagen) async {
+    var result = await _channel.invokeMethod('printBitmap', {
+      'width': ancho,
+      'height': alto,
+      'map': imagen,
+    });
     return result;
   }
 
-  Future<dynamic> imprimirImagen2(List<int> imagen) async {
-    var result = await _channel.invokeMethod('printBitmap2', {'bitmap': imagen});
+  Future<dynamic> imprimirImagen2(int ancho, int alto, List<int> imagen) async {
+    var result = await _channel.invokeMethod('printBitmap2', {
+      'width': ancho,
+      'height': alto,
+      'map': imagen,
+    });
     return result;
   }
 }