package com.ycl.api.YS.config.image; import com.sun.jna.ptr.IntByReference; import com.ycl.api.YS.NetDemo; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_CONFIG_COMMAND_E; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_DEVICE_TYPE_E; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_IMAGE_ENHANCE_S; import javax.swing.*; /** * * @introduction Image information * @description */ public class ImageInfo { /** * * @introduction Get image information * @description Calling the interface of NETDEV_GetDevConfig * */ public static void getImageInfo() { if(null == NetDemo.lpUserID){ JOptionPane.showMessageDialog(null, "Please Login device first. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0){ JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } NETDEV_IMAGE_ENHANCE_S stImageEnhanceInfo = new NETDEV_IMAGE_ENHANCE_S(); stImageEnhanceInfo.write(); IntByReference dwBytesReturned = new IntByReference();//268ChannelID if(NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_FISHEYE || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ECONOMIC_FISHEYE || NetDemo.pstDeviceInfo.dwDeviceType ==NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ACS) { NetDemo.textFieldImageInfo3DNoiseReduce.setEnabled(true); NetDemo.textFieldImageInfo2DNoiseReduce.setEnabled(true); }else if(NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_HNVR || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_NVR || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_NVR_BACKUP) { NetDemo.textFieldImageInfo3DNoiseReduce.setEnabled(false); NetDemo.textFieldImageInfo2DNoiseReduce.setEnabled(true); }else { NetDemo.textFieldImageInfo3DNoiseReduce.setEnabled(false); NetDemo.textFieldImageInfo2DNoiseReduce.setEnabled(false); } boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_CHL_IMAGE_ENHANCE, stImageEnhanceInfo.getPointer(),stImageEnhanceInfo.size(), dwBytesReturned ); if(bRet != true) { JOptionPane.showMessageDialog(null, "Get data failed,error code"+ NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_GetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { stImageEnhanceInfo.read(); NetDemo.textFieldConfigImageInfoBrightness.setText(String.valueOf(stImageEnhanceInfo.udwBrightness)); NetDemo.textFieldConfigImageInfoSaturation.setText(String.valueOf(stImageEnhanceInfo.udwSaturation)); NetDemo.textFieldConfigImageInfoContrast.setText(String.valueOf(stImageEnhanceInfo.udwContrast)); NetDemo.textFieldConfigImageInfoSharpness.setText(String.valueOf(stImageEnhanceInfo.udwSharpness)); NetDemo.textFieldImageInfo2DNoiseReduce.setText(String.valueOf(stImageEnhanceInfo.udw2DNoiseReduce)); NetDemo.textFieldImageInfo3DNoiseReduce.setText(String.valueOf(stImageEnhanceInfo.udw3DNoiseReduce)); } } /** * * @introduction Set image information * @description Calling the interface of NETDEV_SetDevConfig * */ public static void setImageInfo() { if(null == NetDemo.lpUserID){ JOptionPane.showMessageDialog(null, "Please Login device first. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0){ JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } NETDEV_IMAGE_ENHANCE_S stImageEnhanceInfo = new NETDEV_IMAGE_ENHANCE_S(); IntByReference dwBytesReturned = new IntByReference(); boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_CHL_IMAGE_ENHANCE, stImageEnhanceInfo.getPointer(),stImageEnhanceInfo.size(), dwBytesReturned ); if(bRet != true) { System.out.printf("NETDEV_GetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { stImageEnhanceInfo.read(); if(NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_FISHEYE || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ECONOMIC_FISHEYE || NetDemo.pstDeviceInfo.dwDeviceType ==NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ACS) { NetDemo.textFieldImageInfo3DNoiseReduce.setEnabled(true); NetDemo.textFieldImageInfo2DNoiseReduce.setEnabled(true); String FieldImageInfo3DNoiseReduce=NetDemo.textFieldImageInfo3DNoiseReduce.getText(); if(FieldImageInfo3DNoiseReduce==null||FieldImageInfo3DNoiseReduce.equals("")) { JOptionPane.showMessageDialog(null, "3DNoiseReduce is null"); return; } String FieldImageInfo2DNoiseReduce =NetDemo.textFieldImageInfo2DNoiseReduce.getText(); if(FieldImageInfo2DNoiseReduce==null||FieldImageInfo2DNoiseReduce.equals("")) { JOptionPane.showMessageDialog(null, "2DNoiseReduce is null"); return; } int ImageInfo2DNoiseReduce=0; try { ImageInfo2DNoiseReduce=Integer.parseInt(FieldImageInfo2DNoiseReduce); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "2DNoiseReduce transformation Exception"); NetDemo.textFieldImageInfo2DNoiseReduce.setText(null); return; } if(ImageInfo2DNoiseReduce<0 || ImageInfo2DNoiseReduce>255) { JOptionPane.showMessageDialog(null, "2DNoiseReduce should between 0 and 255 "); NetDemo.textFieldImageInfo2DNoiseReduce.setText(null); return; } stImageEnhanceInfo.udw2DNoiseReduce=ImageInfo2DNoiseReduce; int ImageInfo3DNoiseReduce=0; try { ImageInfo3DNoiseReduce=Integer.parseInt(FieldImageInfo3DNoiseReduce); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "3DNoiseReduce transformation Exception"); NetDemo.textFieldImageInfo3DNoiseReduce.setText(null); return; } if(ImageInfo3DNoiseReduce<0 || ImageInfo3DNoiseReduce>255) { JOptionPane.showMessageDialog(null, "3DNoiseReduce should between 0 and 255 "); NetDemo.textFieldImageInfo3DNoiseReduce.setText(null); return; } stImageEnhanceInfo.udw3DNoiseReduce=ImageInfo3DNoiseReduce; }else if(NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_HNVR || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_NVR || NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_NVR_BACKUP) { NetDemo.textFieldImageInfo3DNoiseReduce.setEnabled(false); NetDemo.textFieldImageInfo2DNoiseReduce.setEnabled(true); String FieldImageInfo2DNoiseReduce =NetDemo.textFieldImageInfo2DNoiseReduce.getText(); if(FieldImageInfo2DNoiseReduce==null||FieldImageInfo2DNoiseReduce.equals("")) { JOptionPane.showMessageDialog(null, "2DNoiseReduce is null"); return; } int ImageInfo2DNoiseReduce=0; try { ImageInfo2DNoiseReduce=Integer.parseInt(FieldImageInfo2DNoiseReduce); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "2DNoiseReduce transformation Exception"); NetDemo.textFieldImageInfo2DNoiseReduce.setText(null); return; } if(ImageInfo2DNoiseReduce<0 || ImageInfo2DNoiseReduce>255) { JOptionPane.showMessageDialog(null, "2DNoiseReduce should between 0 and 255 "); NetDemo.textFieldImageInfo2DNoiseReduce.setText(null); return; } stImageEnhanceInfo.udw2DNoiseReduce=ImageInfo2DNoiseReduce; }else { NetDemo.textFieldImageInfo3DNoiseReduce.setEnabled(false); NetDemo.textFieldImageInfo2DNoiseReduce.setEnabled(false); } String udwBrightness=NetDemo.textFieldConfigImageInfoBrightness.getText(); if(udwBrightness==null||udwBrightness.equals("")) { JOptionPane.showMessageDialog(null, "Brightness is null"); return; } int getudwBrightness=0; try { getudwBrightness=Integer.parseInt(udwBrightness); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "Brightness transformation Exception"); NetDemo.textFieldConfigImageInfoBrightness.setText(null); return; } if(getudwBrightness<0 || getudwBrightness>255) { JOptionPane.showMessageDialog(null, "Brightness should between 0 and 255"); NetDemo.textFieldConfigImageInfoBrightness.setText(null); return; } stImageEnhanceInfo.udwBrightness = getudwBrightness; String FieldConfigImageInfoSaturation=NetDemo.textFieldConfigImageInfoSaturation.getText(); if(FieldConfigImageInfoSaturation==null||FieldConfigImageInfoSaturation.equals("")) { JOptionPane.showMessageDialog(null, "Saturation is null"); return; } int ConfigImageInfoSaturation=0; try { ConfigImageInfoSaturation=Integer.parseInt(FieldConfigImageInfoSaturation); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "Saturation transformation Exception"); NetDemo.textFieldConfigImageInfoSaturation.setText(null); return; } if(ConfigImageInfoSaturation<0 || ConfigImageInfoSaturation>255) { JOptionPane.showMessageDialog(null, "Saturation should between 0 and 255"); NetDemo.textFieldConfigImageInfoSaturation.setText(null); return; } stImageEnhanceInfo.udwSaturation = ConfigImageInfoSaturation; String FieldConfigImageInfoContrast=NetDemo.textFieldConfigImageInfoContrast.getText(); if(FieldConfigImageInfoContrast==null||FieldConfigImageInfoContrast.equals("")) { JOptionPane.showMessageDialog(null, "Contrast is null"); return; } int ConfigImageInfoContrast=0; try { ConfigImageInfoContrast=Integer.parseInt(FieldConfigImageInfoContrast); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "Contrast transformation Exception"); NetDemo.textFieldConfigImageInfoContrast.setText(null); return; } if(ConfigImageInfoContrast<0 || ConfigImageInfoContrast>255) { JOptionPane.showMessageDialog(null, "Contrast should between 0 and 255"); NetDemo.textFieldConfigImageInfoContrast.setText(null); return; } stImageEnhanceInfo.udwContrast = ConfigImageInfoContrast; String FieldConfigImageInfoSharpness=NetDemo.textFieldConfigImageInfoSharpness.getText(); if(FieldConfigImageInfoSharpness==null||FieldConfigImageInfoSharpness.equals("")) { JOptionPane.showMessageDialog(null, "Sharpness is null"); return; } int ConfigImageInfoSharpness=0; try { ConfigImageInfoSharpness=Integer.parseInt(FieldConfigImageInfoSharpness); }catch(Exception ee) { JOptionPane.showMessageDialog(null, "Sharpness transformation Exception"); NetDemo.textFieldConfigImageInfoSharpness.setText(null); return; } if(ConfigImageInfoSharpness<0 || ConfigImageInfoSharpness>255) { JOptionPane.showMessageDialog(null, "Sharpness should between 0 and 255"); NetDemo.textFieldConfigImageInfoSharpness.setText(null); return; } stImageEnhanceInfo.udwSharpness = ConfigImageInfoSharpness; stImageEnhanceInfo.write(); boolean bRet2 = NetDemo.netdevsdk.NETDEV_SetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_SET_CHL_IMAGE_ENHANCE, stImageEnhanceInfo.getPointer(), stImageEnhanceInfo.size()); if(bRet2 != true) { JOptionPane.showMessageDialog(null, "set data failed,error code"+ NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_SetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { JOptionPane.showMessageDialog(null, "Set success"); } } } }