1.1.0版本
This commit is contained in:
73
UniTAP/libs/lib_uicl/uicl.py
Normal file
73
UniTAP/libs/lib_uicl/uicl.py
Normal file
@@ -0,0 +1,73 @@
|
||||
from .uicl_types import *
|
||||
from ..lib_helper import OS_Requirements, lib_method_wrapper
|
||||
|
||||
|
||||
UICL_CURRENT_VERSION = 1
|
||||
UICL = OS_Requirements("UICL").get_lib()
|
||||
|
||||
|
||||
class UICLError(Exception):
|
||||
def __init__(self, message, errors=None):
|
||||
super().__init__(message)
|
||||
self.errors = errors
|
||||
|
||||
|
||||
def UICL_GetRequiredBufferSize(dest_image: UICL_Image):
|
||||
_UICL_GetRequiredBufferSize = lib_method_wrapper(UICL.UICL_GetRequiredBufferSize, [POINTER(UICL_Image)], c_int64)
|
||||
|
||||
return _UICL_GetRequiredBufferSize(byref(dest_image))
|
||||
|
||||
|
||||
def UICL_Convert(src_image: UICL_Image, dest_image: UICL_Image):
|
||||
_UICL_Convert = lib_method_wrapper(UICL.UICL_Convert, [POINTER(UICL_Image), POINTER(UICL_Image)], UICL_RESULT)
|
||||
|
||||
return _UICL_Convert(byref(src_image), byref(dest_image))
|
||||
|
||||
|
||||
def UICL_SaveToFile(src_image: UICL_Image, file_name, image_file_format):
|
||||
_UICL_SaveToFile = lib_method_wrapper(UICL.UICL_SaveToFile, [c_char_p, POINTER(UICL_Image), c_int], UICL_RESULT)
|
||||
|
||||
return _UICL_SaveToFile(c_char_p(file_name.encode('utf-8')), byref(src_image), image_file_format)
|
||||
|
||||
|
||||
def UICL_CalculateCRC16(src_image: UICL_Image, crc: UICL_CRC16):
|
||||
_UICL_CalculateCRC16 = lib_method_wrapper(UICL.UICL_CalculateCRC16, [POINTER(UICL_Image), POINTER(UICL_CRC16)],
|
||||
UICL_RESULT)
|
||||
|
||||
return _UICL_CalculateCRC16(byref(src_image), byref(crc))
|
||||
|
||||
|
||||
def UICL_GeneratePattern(src_image: UICL_Image, pattern_type: int):
|
||||
_UICL_GeneratePattern = lib_method_wrapper(UICL.UICL_GeneratePattern, [POINTER(UICL_Image), c_int],
|
||||
UICL_RESULT)
|
||||
|
||||
return _UICL_GeneratePattern(byref(src_image), pattern_type)
|
||||
|
||||
|
||||
def UICL_GeneratePattern_3Tap(src_image: UICL_Image, pattern_type: int):
|
||||
_UICL_GeneratePattern_3Tap = lib_method_wrapper(UICL.UICL_GeneratePattern_3Tap, [POINTER(UICL_Image), c_int],
|
||||
UICL_RESULT)
|
||||
|
||||
return _UICL_GeneratePattern_3Tap(byref(src_image), pattern_type)
|
||||
|
||||
|
||||
def UICL_FreeImage(src_image: UICL_Image):
|
||||
_UICL_DeleteImage = lib_method_wrapper(UICL.UICL_FreeImage, [ POINTER(UICL_Image) ],
|
||||
UICL_RESULT)
|
||||
|
||||
return _UICL_DeleteImage(byref(src_image))
|
||||
|
||||
|
||||
def UICL_AllocImage(image_params: UICL_ImageParameters) -> UICL_Image:
|
||||
_UICL_AllocateImage = lib_method_wrapper(UICL.UICL_AllocImage,
|
||||
[POINTER(UICL_ImageParameters), POINTER(UICL_Image)],
|
||||
UICL_RESULT)
|
||||
|
||||
image = UICL_Image()
|
||||
|
||||
result = _UICL_AllocateImage(byref(image_params), byref(image))
|
||||
|
||||
if result < UICL_SUCCESS:
|
||||
raise UICLError(f"Cannot allocate image. Error code: {result}")
|
||||
|
||||
return image
|
||||
Reference in New Issue
Block a user