コード例 #1
0
 def test_value_init(self):
     bitmap = Bitmap(value=10)
     self.assertEqual(len(bitmap), 4)
     self.assertEqual(bitmap.value, 10)
     bitmap = Bitmap(size=0, value=14)
     self.assertEqual(len(bitmap), 4)
     self.assertEqual(bitmap.value, 14)
コード例 #2
0
    def test_instantination(self):
        self.assertRaises(BaseException, Bitmap, ())
        self.assertRaises(BaseException, Bitmap, ('s', ))
        self.assertRaises(BaseException, Bitmap, (1, ))

        self.assertIsInstance(Bitmap(0), Bitmap)  # int
        self.assertIsInstance(Bitmap(Bitmap(8)), Bitmap)  # Bitmap
        self.assertIsInstance(Bitmap(bytes(2)), Bitmap)  # bytes,
        self.assertIsInstance(Bitmap(bytearray(2)), Bitmap)  # bytearray
コード例 #3
0
 def test_invalid_size(self):
     with self.assertRaises(TypeError):
         _ = Bitmap(size=7.0)  # type: ignore
     with self.assertRaises(TypeError):
         _ = Bitmap(size='0b111')  # type: ignore
     with self.assertRaises(TypeError):
         _ = Bitmap(size=[7])  # type: ignore
     # size < len(bin(value))
     with self.assertRaises(ValueError):
         _ = Bitmap(size=3, value=10)
コード例 #4
0
 def __init__(self, width, height):
     super(Desktop, self).__init__(
         0, 0, width, height,
         WND_ONLY_CLIENT | WND_KEEP_BOTTOM | WND_KEEP_INACTIVE)
     self.im = Bitmap('img/cheetah.png')
     dirname = 'img/desktop-icons'
     self.icons = [
         Bitmap(os.path.join(dirname, fname)).scaledToWidth(ICON_SIZE)
         for fname in os.listdir(dirname) if fname.startswith('icon-')
     ]
     self.proc_names = ['pa', 'pb', 'pc']
     self.cur_icon = None
     self.wnds = []
コード例 #5
0
ファイル: proc_gui.py プロジェクト: fans656/eos-gui-prototype
    def __init__(self, video_mem, qt_callback):
        self.qcommunicate = QCommunicate()
        self.qcommunicate.signal.connect(qt_callback)
        self.video_mem = video_mem
        self.screen = Bitmap(SCREEN_WIDTH, SCREEN_HEIGHT)
        self.wnds = []

        self.dragging_wnd = None

        self.windows_change_listener = []

        self.mouse_img = im = Bitmap('img/mouse.png')
        self.mouse_x = 0
        self.mouse_y = 0
コード例 #6
0
    def create_bitmap(
        self,
        offset: int,
        row_width: int,
        start_column: int,
        start_row: int,
        visible_rows: int,
        visible_columns: int,
    ) -> Optional[Bitmap]:
        if self._data is None:
            return

        start = start_row * row_width + start_column + offset
        num_rows = min(ceil(
            (self.num_bits - start) / row_width), visible_rows + 1) - 1
        bits_per_row = min(row_width, visible_columns)
        bytes_per_row = ceil(bits_per_row / 8)
        mask = 2**(bytes_per_row * 8) - 1
        result = bytearray()
        for _ in range(num_rows):
            result.extend(self._get_row_bytes(start, bytes_per_row, mask))
            start += row_width
        remainder = []
        last_byte = start // 8 + bytes_per_row
        if last_byte < len(self._data):
            result.extend(self._get_row_bytes(start, bytes_per_row, mask))
        else:
            remainder = self._get_end_bits(start)
        return Bitmap(result, bits_per_row, bytes_per_row, remainder)
コード例 #7
0
def get_bitmap_of_circles_on_AABB(size_in_bits, center, step, poss, rad):

    corner = bitmap_corner_from_center(center, size_in_bits, step)
    bitmap = Bitmap(None, size_in_bits, corner, step)
    is_circle = bitmap.bits

    rad_in_bits = math.ceil(rad * bitmap.inv_step)

    for circle_index in range(len(poss)):
        circle_center = poss[circle_index]
        bit_center = bitmap.indices_from_pos(circle_center)

        for dx in range(-rad_in_bits, rad_in_bits + 1):
            for dy in range(-rad_in_bits, rad_in_bits + 1):

                bit_pos = vec_add(bit_center, (dx, dy))
                if not bitmap.are_indices_in_bounds(bit_pos):
                    continue  # `bit_pos` isn't in bitmap.

                corner_a, corner_b = bitmap.get_bit_corners(bit_pos)
                is_touching = is_circle_touching_AABB(bit_center, rad_in_bits,
                                                      corner_a, corner_b)
                bit_index = bitmap.index_from_indices(bit_pos)
                is_circle[bit_index] = (is_circle[bit_index] or is_touching)
    return bitmap
コード例 #8
0
ファイル: HW1.py プロジェクト: ranayukirin/ImageProce_hw1
def Save_im():
    global im_choose, imtk, lb2, lb7, save_str
    im_save = Bitmap(512, 512)
    im_save.setPixel(np.uint8(im_choose))
    im_save.write(save_str)
    lb7 = tk.Label(window, text = '- Done saving bmp -',
               width=20, height=1).place(x = 362, y = 60)
コード例 #9
0
 def test_invalid_value(self):
     bitmap = Bitmap(size=10, value=10)
     with self.assertRaises(TypeError):
         bitmap.value = 7.0  # type: ignore
     with self.assertRaises(TypeError):
         bitmap.value = '0b111'  # type: ignore
     with self.assertRaises(TypeError):
         bitmap.value = [7]  # type: ignore
     # value < 0
     with self.assertRaises(ValueError):
         bitmap.value = -1
     # value >= (1 << size)
     with self.assertRaises(ValueError):
         bitmap.value = 1024
     with self.assertRaises(TypeError):
         _ = Bitmap(value=(10, ))  # type: ignore
コード例 #10
0
 def test_flip_bit(self):
     bitmap = Bitmap(value=10)
     bitmap.flip_bit(2)
     bitmap.flip_bit(1)
     self.assertEqual(bitmap.get_bit(2), 1)
     self.assertEqual(bitmap.get_bit(1), 0)
     self.assertEqual(bitmap.value, 12)
コード例 #11
0
ファイル: command.py プロジェクト: Artanidos/UXDesigner
    def __init__(self, x, y, mode, fileName, scene, parent=None):
        super(AddItemCommand, self).__init__(parent)

        from designerscene import DesignerScene
        from rectangle import Rectangle
        from ellipse import Ellipse
        from text import Text
        from bitmap import Bitmap
        from vectorgraphic import Vectorgraphic
        self.scene = scene
        self.item = None

        if mode == DesignerScene.RECTANGLE:
            self.item = Rectangle(self.scene)
            self.item.setId("Rectangle")
            self.item.setPen(QPen(Qt.black))
            self.item.setBrush(QBrush(Qt.blue))
            self.item.setFlag(QGraphicsItem.ItemIsMovable, True)
            self.item.setFlag(QGraphicsItem.ItemIsSelectable, True)
            self.item.setPos(x, y)
            self.item.setWidth(50)
            self.item.setHeight(50)
            self.setText("Add Rectangle")

        elif mode == DesignerScene.ELLIPSE:
            self.item = Ellipse(self.scene)
            self.item.setId("Ellipse")
            self.item.setPen(QPen(Qt.black))
            self.item.setBrush(QBrush(Qt.blue))
            self.item.setFlag(QGraphicsItem.ItemIsMovable, True)
            self.item.setFlag(QGraphicsItem.ItemIsSelectable, True)
            self.item.setPos(x, y)
            self.item.setWidth(50)
            self.item.setHeight(50)
            self.setText("Add Ellipse")

        elif mode == DesignerScene.TEXT:
            self.item = Text("Lorem ipsum dolor", self.scene)
            self.item.setId("Text")
            self.item.setFlag(QGraphicsItem.ItemIsMovable, True)
            self.item.setFlag(QGraphicsItem.ItemIsSelectable, True)
            self.item.setPos(x, y)
            self.setText("Add Text")

        elif mode == DesignerScene.BITMAP:
            self.item = Bitmap(fileName, self.scene)
            self.item.setId("Bitmap")
            self.item.setFlag(QGraphicsItem.ItemIsMovable, True)
            self.item.setFlag(QGraphicsItem.ItemIsSelectable, True)
            self.item.setPos(x, y)
            self.setText("Add Bitmap")

        elif mode == DesignerScene.SVG:
            self.item = Vectorgraphic(fileName, self.scene)
            self.item.setId("Vectorgraphic")
            self.item.setFlag(QGraphicsItem.ItemIsMovable, True)
            self.item.setFlag(QGraphicsItem.ItemIsSelectable, True)
            self.item.setPos(x, y)
            self.setText("Add Vectorgraphic")
コード例 #12
0
ファイル: __init__.py プロジェクト: feitianyiren/mYstable
def getfile(event, new_file, parent):
    #print(event)
    printk("getfile('%s')" % event.filename)
    new_file.med_oact = Bitmap(b'\xff\xff')
    new_file.update()
    print(event.filename)
    print(new_file)
    return MED_OK
コード例 #13
0
 def test_invalid_v(self):
     bitmap = Bitmap(value=10)
     with self.assertRaises(ValueError):
         bitmap.update_bit(2, 2)
     with self.assertRaises(ValueError):
         bitmap.update_bit(1, None)  # type: ignore
     with self.assertRaises(ValueError):
         bitmap.update_bit(0, '1')  # type: ignore
コード例 #14
0
ファイル: window.py プロジェクト: fans656/eos-gui-prototype
 def __init__(self, wnd, gui):
     self.init(wnd.x(), wnd.y(), wnd.width(), wnd.height(), wnd.attr(),
               wnd.border_width(), wnd.caption_height())
     self.wnd = wnd
     self.gui = gui
     bitmap = Bitmap(wnd.window_width(), wnd.window_height())
     self.bitmap = wnd.bitmap = bitmap
     self.dragging = False
コード例 #15
0
ファイル: med_attr.py プロジェクト: feitianyiren/mYstable
def handleBitmap(x, convertBitmap):
    """Handling AfterUnpack & BeforePack functionality"""

    if not isinstance(x, Bitmap) or (isinstance(x, Bitmap) and convertBitmap):
        x = Bitmap(x)
    if convertBitmap:
        x.bytereverse()
    return x
コード例 #16
0
def load_bitmap(file) :
    words = open(file).readlines()
    words = map(lambda x: x.strip(), words)
    bmap  = Bitmap(2**20)
    for word in words :
        hashes = make_hashes(word)
        for hash in hashes :
            bmap.setBit(hash)
    return bmap
コード例 #17
0
ファイル: __init__.py プロジェクト: Medusa-Team/medusa-tests
def getprocess(event, parent):
    if parent.gid == 0:
        printk("getprocess: parent gid ROOT")
    else:
        printk("getprocess: change parent gid %d of '%s' to ROOT" % (parent.gid, parent.cmdline))
        parent.gid = 0
    parent.med_oact = Bitmap(16)
    parent.med_oact.fill()
    parent.med_sact = Bitmap(16)
    parent.med_sact.fill()
    parent.update()
    print(parent)

    tmp = Process()
    print(tmp)

    #print(event)
    #print(parent)
    return MED_OK
コード例 #18
0
ファイル: spellcheck.py プロジェクト: patiljeevanr/pa-dude
def loadBitmap(file):
    # generate bitmap from lexicon file (one word per line)
    words = open(file).readlines()
    words = map(lambda x: x.strip(), words)  # no newlines please
    bmap = Bitmap(2**20)
    for word in words:
        hashes = makeHashes(word)
        for hash in hashes:
            bmap.setBit(hash)
    return bmap
コード例 #19
0
ファイル: dataFile.py プロジェクト: celynw/hippostomp
 def read_bitmaps(self, bitmapIDs):
     for i in range(self.numBitmapRecords):
         bitmap = Bitmap(self.filePath, self.offset)
         if bitmap.filename not in bitmapIDs:
             self.bitmaps.append(bitmap)
             bitmapIDs.add(bitmap.filename)
         self.offset = bitmap.offset
     # assert(self.bitmaps[-1].endIndex == self.numImageRecords)
     if self.bitmaps[-1].endIndex != self.numImageRecords:
         warning(
             f"endIndex ({self.bitmaps[-1].endIndex}) did not match numImageRecords ({self.numImageRecords})"
         )
コード例 #20
0
def string_bitmap(text):
    """
    Like char_bitmap() but takes a string and returns a bitmap of the entire word.

    The resulting width will by len(text) * 8, and height 7.
    
    See bitmap.py
    """
    bm = Bitmap(WIDTH * len(text), HEIGHT)
    for i, char in enumerate(text):
        bm.apply(char_bitmap(char), x=i * WIDTH, y=0)
    return bm
コード例 #21
0
 def test_invalid_i(self):
     bitmap = Bitmap(size=10, value=10)
     with self.assertRaises(TypeError):
         _ = bitmap.get_bit(2.0)  # type: ignore
     with self.assertRaises(TypeError):
         bitmap.set_bit('0b0010')  # type: ignore
     with self.assertRaises(TypeError):
         bitmap.clear_bit([2])  # type: ignore
     # i < 0
     with self.assertRaises(ValueError):
         bitmap.flip_bit(-1)
     # i >= size
     with self.assertRaises(ValueError):
         _ = bitmap.get_bit(10)
コード例 #22
0
def char_bitmap(char):
    """
    Given a single character, generate a Bitmap of that font. This will be width 8, height 7.
    
    See bitmap.py
    """
    char_def = DATA.get(char, DATA[FALLBACK_CHAR])
    assert len(
        char_def) == WIDTH * HEIGHT, "bad char definition for char '%s'" % char
    bm = Bitmap(WIDTH, HEIGHT)
    for y in range(HEIGHT):
        for x in range(WIDTH):
            bm.data[y][x] = 0 if char_def[x + (y * WIDTH)] == ' ' else 1
    return bm
コード例 #23
0
ファイル: plot.py プロジェクト: ceball/topographica
     def __init__(self,image=None,**params):
          super(Plot,self).__init__(**params)
          self._orig_bitmap = Bitmap(image)
          self.bitmap = self._orig_bitmap # Possibly scaled copy (at first identical)
          self.scale_factor=1.0
          self.plot_src_name = ''
          self.precedence = 0.0
          self.row_precedence = 0.5
          # If False, this plot should be left in its native size
          # pixel-for-pixel, (e.g. for a color key or similar static
          # image), rather than being resized as necessary.
          self.resize=False

          # Time at which the bitmaps were created
          self.timestamp = -1
コード例 #24
0
 def test_update_bit(self):
     bitmap = Bitmap(value=10)
     # `True` and `1` are equivalent in the bitmap
     # bit was already 1
     bitmap.update_bit(3, 1)
     self.assertEqual(bitmap.get_bit(3), 1)
     # new bit set to 1
     bitmap.update_bit(2, True)
     self.assertEqual(bitmap.get_bit(2), 1)
     # `False` and `0` are equivalent in the bitmap
     # new bit set to 0
     bitmap.update_bit(1, False)
     self.assertEqual(bitmap.get_bit(1), 0)
     # bit was already 1
     bitmap.update_bit(0, 0)
     self.assertEqual(bitmap.get_bit(0), 0)
     self.assertEqual(bitmap.value, 12)
コード例 #25
0
ファイル: automata.py プロジェクト: PashaWNN/education
def main():
    width = 512
    gens = 512
    seed()
    a = Automata(int(input('Введите правило: ')))
    mode = input('Режим: из одной точки p, случайное заполнение r: ')
    if mode == 'r':
        a.random()
    elif mode == 'p':
        a.cells[width // 2] = True
    else:
        print('Неправильный режим')
    b = Bitmap(width=width, height=gens)
    for gen in range(0, gens):
        for i in range(0, width):
            b.setPixel(i, gen, BLACK if a.cells[i] else WHITE)
        a.do_gen()
    b.write('file.bmp')
コード例 #26
0
ファイル: greendots.py プロジェクト: believeInJha/github-hack
def main():
    text = ' '.join(argv[1:])

    if not text:
        stderr.write('ERROR: missing text\n')
        exit(1)

    one_year_ago = date.today() - timedelta(days=365)
    while one_year_ago.weekday() != 6:  # go to start of week (sunday)
        one_year_ago -= timedelta(days=1)

    canvas = Bitmap(width=52, height=7)  # year of weeks

    label = string_bitmap(text)
    canvas.apply(label, x=canvas.width - label.width)  # right align

    if label.width > canvas.width:
        stderr.write('WARNING: text truncated\n')

    stderr.write('preview:\n\n')
    canvas.dump(stderr)

    print('#!/bin/bash')
    print('set -euo pipefail')
    print('echo "Generating a bunch of git commits..."')
    print('git init')
    n = 0
    for contrib_date in bitmap_to_contribution_dates(canvas, one_year_ago):
        stamp = datetime.combine(contrib_date, time(12, 0)).isoformat()
        for i in range(commits_per_pixel):
            print('echo {} > .greendot'.format(n))
            print('git add .greendot')
            print(
                'GIT_COMMITTER_DATE="{}" GIT_AUTHOR_DATE="{}" git commit -m "greendot {}"'
                .format(stamp, stamp, n))
            n += 1
    print('echo "All done. Commits: {}"'.format(n))
コード例 #27
0
    def test_set_bit(self):
        bm = Bitmap(16)  # bitmap = 00000000
        self.assertEqual(16, bm.length())
        self.assertFalse(bm.all())
        self.assertFalse(bm.any())

        bm[0] = True  # bitmap = 10000000
        self.assertFalse(bm.all())
        self.assertTrue(bm.any())

        self.assertTrue(bm[0])
        self.assertFalse(bm[1])

        bm.setall(True)
        self.assertTrue(bm.any())
        self.assertTrue(bm.all())

        bm[0] = False
        self.assertFalse(bm.all())
        self.assertTrue(bm.any())

        bm.setall(False)
        self.assertFalse(bm.any())
        self.assertFalse(bm.any())
コード例 #28
0
ファイル: proc_pa.py プロジェクト: fans656/eos-gui-prototype
 def __init__(self):
     self.im = im = Bitmap('img/girl.jpg')
     super(WndA, self).__init__(-9, -9, 400, 300)
     self.set_title('Yurisa')
コード例 #29
0
 def glCreateWindow(self, width, height):
     self.bmp = Bitmap(width, height)
     self.width = width
     self.height = height
コード例 #30
0
ap = argparse.ArgumentParser()

ap.add_argument("--height", type=int, required=False, help="Height of the canvas")
ap.add_argument("--width", type=int, required=False, help="Width of the Canvas")
ap.add_argument("--char",  type=str, required=False, help="character of cell(default='@')")
ap.add_argument("--ratio", type=float, required=False, help="probability of population in initial population")

args = ap.parse_args()
width = args.width or 45
height = args.height or 20
char = args.char or '@'
ratio = args.ratio or 0.85


cells = Bitmap(width, height, char=char)

def random_cells():
    for i in range(width):
        for j in range(height):
            if(random.random() > ratio):
                cells.set(i, j)

def glider():
    cells.set(1, 1)
    cells.set(2, 2)
    cells.set(3, 2)
    cells.set(2, 3)
    cells.set(1, 3)

def count_neigh(x, y, new_map):