From ff7a20518fd0efd1a1d9c4272b2092c93caf8762 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 17 Aug 2023 10:06:23 -0500 Subject: [PATCH] Read icon in blocks ...jpype is so smart! --- src/napari_imagej/widgets/widget_utils.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/napari_imagej/widgets/widget_utils.py b/src/napari_imagej/widgets/widget_utils.py index f3b1537e..c53975be 100644 --- a/src/napari_imagej/widgets/widget_utils.py +++ b/src/napari_imagej/widgets/widget_utils.py @@ -1,6 +1,7 @@ from functools import lru_cache from typing import List +from jpype import JArray, JByte from magicgui import magicgui from napari import Viewer from napari.layers import Image, Labels, Layer, Points, Shapes @@ -300,11 +301,12 @@ def _getIcon(icon_path): return stream = jc.File.class_.getResourceAsStream(icon_path) bytes_array = bytearray() + foo = JArray(JByte)(1024) while True: - b = stream.read() - if b == -1: + length = stream.read(foo, 0, foo.length) + if length == -1: break - bytes_array.append(b) + bytes_array.extend(foo) pixmap = QPixmap() pixmap.loadFromData(QByteArray(bytes_array))