package com.zehong.system.service.impl; import com.listenvision.led; import com.zehong.system.domain.vo.Bx06Vo; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.io.Console; @Service public class LedserviceImpl { //@PostConstruct public void qidong()throws Exception{ led.InitLedType(0); } public static void SendProgram(Bx06Vo bx06Vo) { String strIp = "192.168.11.128"; int ledWidth = bx06Vo.getWidth();//屏的宽度 int ledHeight = bx06Vo.getHeight();//屏的高度 int colorType = bx06Vo.getColorType();//屏的颜色 1.单色 2.双基色 3.三基色 注:C卡全彩参数为3 X系列卡参数固定为 4 int grayLevel = bx06Vo.getGrayLevel();//灰度等级 赋值 1-5对应的灰度等级分别为 无,4,8,16,32 除C卡外,其它卡传0 System.out.println("w:"+bx06Vo.getWidth()+"--h:"+bx06Vo.getHeight()+"--c:"+bx06Vo.getColorType()+"--g:"+bx06Vo.getGrayLevel()); //初始化LED类型,程序启动,初始化调用一次即可 //led.InitLedType(0);//卡型号 0 T/A/U/XC/W 1 E 2 X 3 C //Example 1 Basic screen parameter settings(设置基本屏参) //onSetBasicInfo(strIp,ledWidth,ledHeight,colorType,grayLevel); //Example 2 Switch screen(开关屏) //onPowerOnOff(strIp); //Example 3 Calibration time(校时) //onAdjustTime(strIp); //Example 4 Single line text program(一个节目下只有一个连接左移的单行文本区) //onSingleLineText(strIp,ledWidth,ledHeight,colorType,grayLevel,bx06Vo.getContent()); onMultiLineText(strIp,ledWidth,ledHeight,colorType,grayLevel,bx06Vo.getContents()); //Example 5 Multi-line text program(一个节目下只有一个多行文本区) //onMultiLineText(strIp,ledWidth,ledHeight,colorType,grayLevel); //Example 6 Picture program(一个节目下只有一个图片区) //onPicture(strIp,ledWidth,ledHeight,colorType,grayLevel); //Example 7 A single-line text area and a picture area program(一个节目下有一个连续上移的单行文本区和一个图片区) //onTwoAreas(strIp,ledWidth,ledHeight,colorType,grayLevel); //Example 8 A single-line text area program and a digital clock area program(两个节目下各有一个单行文本区和一个数字时钟区) //onTwoPrograms(strIp,ledWidth,ledHeight,colorType,grayLevel); /***************广域网开发简单示例 C2M C4M型号才支持*************/ //打开服务端口 /*ledCallBack cb = new ledCallBack() { //上下线只会通知一次 public void LedServerCallback(int Msg, int wParam, String networkIdStr) { switch(Msg){ case 1://控制卡连上 System.out.println("connected ID:"+networkIdStr); onSingleLineText(networkIdStr,ledWidth,ledHeight,colorType,grayLevel); break; case 2://控制卡断开 System.out.println("disconnect ID:"+networkIdStr); break; default : break; } } }; led.LedInitServer(10012); led.RegisterLedServerCallback(cb); try { Thread.sleep(30000); } catch (InterruptedException e) { e.printStackTrace(); } //断开服务 led.LedShudownServer();*/ /*******************************************************/ } //Basic screen parameter settings(设置基本屏参) public static void onSetBasicInfo(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel) { int errCode = led.SetBasicInfo(strIp,colorType,grayLevel,ledWidth,ledHeight); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("设置基本屏参成功"); } //Switch screen(开关屏) public static void onPowerOnOff(String strIp) { int errCode = led.PowerOnOff(strIp,0); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("开关屏成功"); } //Calibration time(校时) public static void onAdjustTime(String strIp) { int errCode = led.AdjustTime(strIp); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("校时成功"); } //Single line text program(一个节目下只有一个连接左移的单行文本区) public static void onSingleLineText(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel,String content) { long hProgram = led.CreateProgram(ledWidth, ledHeight, colorType,grayLevel,0); led.AddProgram(hProgram, 0, 0, 1); led.AddImageTextArea(hProgram, 0, 1, 0, 0, ledWidth, ledHeight, 1); led.AddSinglelineTextToImageTextArea(hProgram,0,1,0,content,"宋体",20,0xff,0,0,0,6,10,0); int errCode = led.NetWorkSend(strIp, hProgram); led.DeleteProgram(hProgram); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("发送节目成功"); } //Multi-line text program(一个节目下只有一个多行文本区) public static void onMultiLineText(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel,String[] contents) { long hProgram = led.CreateProgram(ledWidth, ledHeight, colorType,grayLevel,0); led.AddProgram(hProgram, 0, 0, 1); //led.AddImageTextArea(hProgram, 0, 1, 0, 0, ledWidth/2, ledHeight/2, 1); //led.AddImageTextArea(hProgram, 0, 2, 0, ledHeight/2, ledWidth/2, ledHeight/2, 1); //You can add multiple sub-items to the graphic area(可以添加多个子项到图文区,如下添加可以选一个或多个添加) for(int i=0;i<contents.length;i++){ led.AddImageTextArea(hProgram, 0, i+1, 0, ledHeight/6*i, ledWidth, ledHeight/6, 1); led.AddMultiLineTextToImageTextArea(hProgram,0,i+1,0,contents[i],"宋体",9,0xff,1,0,0,0,4,10,0,0); } //led.AddMultiLineTextToImageTextArea(hProgram,0,1,0,"第一行","宋体",9,0xff,1,0,0,0,4,10,0,0); //led.AddMultiLineTextToImageTextArea(hProgram,0,2,0,"第二行\\n第三行","宋体",9,0xff,1,0,0,0,4,10,0,0); //led.AddMultiLineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉","宋体",12,0xff,1,0,0,0,4,10,0,0); //led.AddMultiLineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉2","simsun.ttc",14,0xff,0,0,0,0,10,5,0,0); //led.AddMultiLineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉3","simsun.ttc",14,0xff,0,0,0,0,10,5,0,0); int errCode = led.NetWorkSend(strIp, hProgram); led.DeleteProgram(hProgram); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("发送文本节目成功"); } //Picture program(一个节目下只有一个图片区) public static void onPicture(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel) { long hProgram = led.CreateProgram(ledWidth, ledHeight, colorType,grayLevel,0); led.AddProgram(hProgram, 0, 0, 1); led.AddImageTextArea(hProgram, 0, 1, 0, 0, ledWidth, ledHeight, 1); //You can add multiple sub-items to the graphic area(可以添加多个子项到图文区,如下添加可以选一个或多个添加) led.AddFileToImageTextArea(hProgram, 0, 1, "test.bmp", 1, 4, 2); //led.AddFileToImageTextArea(hProgram, 0, 1, "test.jpg", 1, 4, 2); int errCode = led.NetWorkSend(strIp, hProgram); led.DeleteProgram(hProgram); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("发送节目成功"); } //A single-line text area and a picture area program(一个节目下有一个连续上移的单行文本区和一个图片区) public static void onTwoAreas(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel) { long hProgram = led.CreateProgram(ledWidth, ledHeight, colorType,grayLevel,0); led.AddProgram(hProgram, 0, 0, 1); led.AddImageTextArea(hProgram, 0, 1, 0, 0, ledWidth, ledHeight/2, 1); led.AddSinglelineTextToImageTextArea(hProgram,0,1,0,"Listen","宋体",12,0xff,0,0,0,6,20,0); led.AddImageTextArea(hProgram, 0, 2, 0, ledHeight/2, ledWidth, ledHeight/2, 1); led.AddFileToImageTextArea(hProgram, 0, 2, "test.bmp", 1, 4, 2); int errCode = led.NetWorkSend(strIp, hProgram); led.DeleteProgram(hProgram); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("发送节目成功"); } //A single-line text area program and a digital clock area program(两个节目下各有一个单行文本区和一个数字时钟区) public static void onTwoPrograms(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel) { long hProgram = led.CreateProgram(ledWidth, ledHeight, colorType,grayLevel,0); //添加单行文本节目 led.AddProgram(hProgram, 0, 0, 1); led.AddImageTextArea(hProgram, 0, 1, 0, 0, ledWidth, ledHeight, 1); led.AddSinglelineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉","宋体",12,0xff,0,0,0,6,8,0); //添加数字时钟节目 led.AddProgram(hProgram, 1, 0, 1); led.AddDigitalClockArea(hProgram,1,1,0,0,ledWidth,ledHeight,"宋体",8,0xff,0,0,0,0,0,0,0,1,1,0,0,0xff,0,0xff,0,0xff,1); int errCode = led.NetWorkSend(strIp, hProgram); led.DeleteProgram(hProgram); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("发送节目成功"); } public static void onMuchPrograms(String strIp,int ledWidth,int ledHeight,int colorType,int grayLevel,String[] contents) { long hProgram = led.CreateProgram(ledWidth, ledHeight, colorType,grayLevel,0); //添加单行文本节目 led.AddProgram(hProgram, 0, 0, 1); led.AddImageTextArea(hProgram, 0, 1, 0, 0, ledWidth, ledHeight, 1); led.AddSinglelineTextToImageTextArea(hProgram,0,1,0,"上海灵信视觉","宋体",12,0xff,0,0,0,6,8,0); //添加数字时钟节目 led.AddProgram(hProgram, 1, 0, 1); led.AddDigitalClockArea(hProgram,1,1,0,0,ledWidth,ledHeight,"宋体",9,0xff,0,0,0,1,0,1,1,1,1,1,0,0xff,0,0xff,3,0xff,0); int errCode = led.NetWorkSend(strIp, hProgram); led.DeleteProgram(hProgram); if(errCode != 0) { System.out.println("失败:" + errCode); } else System.out.println("发送节目成功"); } }