def _convertBitmap(self, path, objects, compress, backcolor, verbose): """ Convert parsed bitmap to NGL_Bitmap object path - path for input bitmap compress - type of compressing - 'None', 'RLE', 'JPG', 'Auto' backcolor - background color for transparent input bitmap verbose - increase output verbosity flag """ if os.path.exists(path): image = QImage(path) name = os.path.basename(path).split('.')[0] ngl_bitmap = NBitmapsConverter.convertQImage(image, name, 'format16', compress, backcolor) ngl_bitmap.objects = objects if verbose: inform(('converting bitmap {name}, size {width}x{height}, ' 'compress {compress}, data len {size} bytes' ).format(name = name, width = image.size().width(), height = image.size().height(), compress = ngl_bitmap.compressed, size = ngl_bitmap.data_len_in_bytes)) return ngl_bitmap else: error(('File "{0}" not found! Expected path - "{1}" not exist' ' :( :( :( ').format(bitmap['name'], bitmap['path']))
def _convertBitmap(self, path, objects, compress, backcolor, verbose): """ Convert parsed bitmap to NGL_Bitmap object path - path for input bitmap compress - type of compressing - 'None', 'RLE', 'JPG', 'Auto' backcolor - background color for transparent input bitmap verbose - increase output verbosity flag """ if os.path.exists(path): image = QImage(path) name = os.path.basename(path).split(".")[0] ngl_bitmap = NBitmapsConverter.convertQImage(image, name, "format16", compress, backcolor) ngl_bitmap.objects = objects if verbose: inform( ( "converting bitmap {name}, size {width}x{height}, " "compress {compress}, data len {size} bytes" ).format( name=name, width=image.size().width(), height=image.size().height(), compress=ngl_bitmap.compressed, size=ngl_bitmap.data_len_in_bytes, ) ) return ngl_bitmap else: error( ('File "{0}" not found! Expected path - "{1}" not exist' " :( :( :( ").format( bitmap["name"], bitmap["path"] ) )
def main(): parser = createArgParser() args = parser.parse_args() # if no args print help and exit if not len(sys.argv[1:]): parser.print_help() error('No arguments found :( exit...') if not os.path.exists( args.qt_uifile ): error( 'Qt ui file path not correct :( exit... ' ) app = QApplication(sys.argv) uifile = args.qt_uifile outdir = args.ngl_out_dir verbose = args.verbose bitmap_compress = ( args.bitmap_compress, args.bitmap_jpeg_quality ) # create nuic object and parse Qt ui file nuic = NUIC( uifile ) ppage = nuic.parser.parse() nuic.informUser( 'parse_end', verbose ) # convert all fonts, generate common fonts header code ngl_fonts = nuic.convertFonts( ppage['fonts'], verbose ) ngl_fonts_header = nuic.fontsHeaderCode( ngl_fonts, verbose ) # convert all bitmaps, generate common bitmaps header code ngl_bitmaps = nuic.convertBitmaps( ppage['bitmaps'], bitmap_compress, ppage['background_color'], verbose ) ngl_bitmaps_header = nuic.bitmapsHeaderCode( ngl_bitmaps, verbose ) # generate page and objects code pagecode = nuic.pageCode( ppage, ngl_bitmaps, ngl_fonts, verbose ) pageheadercode = nuic.pageHeaderCode( ppage, verbose ) headerscode = nuic.objectsHeaderCode(ppage, ngl_bitmaps, ngl_fonts, verbose) # inform by end of conversion and generation code nuic.informUser( 'convert_end', verbose ) # create dirs for save generated code code_dirs = nuic.createDirs( basepath=outdir, pagename=ppage['name'] ) nuic.informUser('create_dirs', verbose) # save all code nuic.save( pagename = ppage['name'], pagecode = pagecode, pageheadercode = pageheadercode, headerscode = headerscode, bitmaps = ngl_bitmaps, bitmapsheader = ngl_bitmaps_header, fonts = ngl_fonts, fontsheader = ngl_fonts_header, verbose = verbose ) # final app.exit() inform( '-*-*- All works finish! :) --- out code locate in %s' % os.path.abspath(code_dirs['base']) )
def openFile(self): last_dir = self.settings.value('open_last_dir', type=str) if not last_dir: last_dir = './' fileName, _ = QFileDialog.getOpenFileName( self, "Open NGL Font source for edit", last_dir, "Source ngl font Files (*.c);;All Files (*)", options = QFileDialog.DontUseNativeDialog ) if fileName: self.setFontFile( fileName ) self.selectCharacter( self._select_char ) else: error('File name incorect, exit.')
def openFile(self): last_dir = self.settings.value('open_last_dir', type=str) if not last_dir: last_dir = './' fileName, _ = QFileDialog.getOpenFileName( self, "Open NGL Font source for edit", last_dir, "Source ngl font Files (*.c);;All Files (*)", options=QFileDialog.DontUseNativeDialog) if fileName: self.setFontFile(fileName) self.selectCharacter(self._select_char) else: error('File name incorect, exit.')
def shift(bitmap, direction): new_bmp = QImage(bitmap) new_bmp.fill(0) if direction not in ['left', 'right', 'up', 'down']: error('direction for shift char not valid, exit.') for y in range(bitmap.height()): for x in range(bitmap.width()): if qGray(bitmap.pixel(x, y)): col = 1 else: col = 0 if direction == 'left' and x > 0: new_bmp.setPixel(x - 1, y, col) elif direction == 'right' and x < bitmap.width() - 1: new_bmp.setPixel(x + 1, y, col) elif direction == 'up' and y > 0: new_bmp.setPixel(x, y - 1, col) elif direction == 'down' and y < bitmap.height() - 1: new_bmp.setPixel(x, y + 1, col) return new_bmp
def shift(bitmap, direction): new_bmp = QImage( bitmap ) new_bmp.fill(0) if direction not in [ 'left', 'right', 'up', 'down' ]: error('direction for shift char not valid, exit.' ) for y in range( bitmap.height() ): for x in range( bitmap.width() ): if qGray( bitmap.pixel( x, y ) ): col = 1 else: col = 0 if direction == 'left' and x > 0: new_bmp.setPixel( x - 1, y, col) elif direction == 'right' and x < bitmap.width() - 1: new_bmp.setPixel( x + 1, y, col ) elif direction == 'up' and y > 0: new_bmp.setPixel( x, y - 1, col) elif direction == 'down' and y < bitmap.height() - 1: new_bmp.setPixel( x, y + 1, col ) return new_bmp
def main(): parser = createArgParser() args = parser.parse_args() # if no args print help and exit if not len(sys.argv[1:]): parser.print_help() error("No arguments found :( exit...") if not os.path.exists(args.qt_uifile): error("Qt ui file path not correct :( exit... ") app = QApplication(sys.argv) uifile = args.qt_uifile outdir = args.ngl_out_dir verbose = args.verbose bitmap_compress = (args.bitmap_compress, args.bitmap_jpeg_quality) # create nuic object and parse Qt ui file nuic = NUIC(uifile) ppage = nuic.parser.parse() nuic.informUser("parse_end", verbose) # convert all fonts, generate common fonts header code ngl_fonts = nuic.convertFonts(ppage["fonts"], verbose) ngl_fonts_header = nuic.fontsHeaderCode(ngl_fonts, verbose) # convert all bitmaps, generate common bitmaps header code ngl_bitmaps = nuic.convertBitmaps(ppage["bitmaps"], bitmap_compress, ppage["background_color"], verbose) ngl_bitmaps_header = nuic.bitmapsHeaderCode(ngl_bitmaps, verbose) # generate page and objects code pagecode = nuic.pageCode(ppage, ngl_bitmaps, ngl_fonts, verbose) pageheadercode = nuic.pageHeaderCode(ppage, verbose) headerscode = nuic.objectsHeaderCode(ppage, ngl_bitmaps, ngl_fonts, verbose) # inform by end of conversion and generation code nuic.informUser("convert_end", verbose) # create dirs for save generated code code_dirs = nuic.createDirs(basepath=outdir, pagename=ppage["name"]) nuic.informUser("create_dirs", verbose) # save all code nuic.save( pagename=ppage["name"], pagecode=pagecode, pageheadercode=pageheadercode, headerscode=headerscode, bitmaps=ngl_bitmaps, bitmapsheader=ngl_bitmaps_header, fonts=ngl_fonts, fontsheader=ngl_fonts_header, verbose=verbose, ) # final app.exit() inform("-*-*- All works finish! :) --- out code locate in %s" % os.path.abspath(code_dirs["base"]))