Commit 49f5b7b7af604807a68331ee2b1326d6c2b624fe
1 parent
8f68c9cd
Exists in
master
and in
26 other branches
Testings
Showing
1 changed file
with
30 additions
and
12 deletions
Show diff stats
invesalius/data/viewer_slice.py
@@ -156,7 +156,7 @@ class CanvasRendererCTX: | @@ -156,7 +156,7 @@ class CanvasRendererCTX: | ||
156 | 156 | ||
157 | def _init_canvas(self): | 157 | def _init_canvas(self): |
158 | w, h = self._size | 158 | w, h = self._size |
159 | - self._array = np.empty((h, w, 4), dtype=np.uint8) | 159 | + self._array = np.zeros((h, w, 4), dtype=np.uint8) |
160 | 160 | ||
161 | self._cv_image = converters.np_rgba_to_vtk(self._array) | 161 | self._cv_image = converters.np_rgba_to_vtk(self._array) |
162 | 162 | ||
@@ -172,11 +172,14 @@ class CanvasRendererCTX: | @@ -172,11 +172,14 @@ class CanvasRendererCTX: | ||
172 | 172 | ||
173 | self.canvas_renderer.AddActor2D(self.actor) | 173 | self.canvas_renderer.AddActor2D(self.actor) |
174 | 174 | ||
175 | + self.bitmap = wx.EmptyBitmapRGBA(w, h) | ||
176 | + | ||
175 | def _resize_canvas(self, w, h): | 177 | def _resize_canvas(self, w, h): |
176 | - self._array = np.empty((h, w, 4), dtype=np.uint8) | 178 | + self._array = np.zeros((h, w, 4), dtype=np.uint8) |
177 | self._cv_image = converters.np_rgba_to_vtk(self._array) | 179 | self._cv_image = converters.np_rgba_to_vtk(self._array) |
178 | self.mapper.SetInputData(self._cv_image) | 180 | self.mapper.SetInputData(self._cv_image) |
179 | self.mapper.Update() | 181 | self.mapper.Update() |
182 | + self.bitmap = wx.EmptyBitmapRGBA(w, h) | ||
180 | 183 | ||
181 | def OnPaint(self, evt, obj): | 184 | def OnPaint(self, evt, obj): |
182 | size = self.canvas_renderer.GetSize() | 185 | size = self.canvas_renderer.GetSize() |
@@ -185,11 +188,26 @@ class CanvasRendererCTX: | @@ -185,11 +188,26 @@ class CanvasRendererCTX: | ||
185 | self._size = size | 188 | self._size = size |
186 | self._resize_canvas(w, h) | 189 | self._resize_canvas(w, h) |
187 | 190 | ||
188 | - self._array[:] = 0 | ||
189 | - self._array[150:500, 150:500, 0] = 255 | ||
190 | - self._array[150:500, 150:500, 3] = 127 | 191 | + pen = wx.Pen(wx.Colour(255, 0, 0, 255), 10, wx.SOLID) |
192 | + memorydc = wx.MemoryDC(self.bitmap) | ||
193 | + # memorydc.SelectObject(self.bitmap) | ||
194 | + memorydc.SetPen(pen) | ||
195 | + memorydc.SetBrush(wx.Brush(wx.Colour(255, 255, 0, 255))) | ||
196 | + # self.memorydc.Clear() | ||
197 | + # self.memorydc.BeginDrawing() | ||
198 | + memorydc.DrawCircle(100, 100, self.viewer.slice_data.number * 5) | ||
199 | + memorydc.DrawCircle(500, 500, 500) | ||
200 | + memorydc.DrawRectangle(0, 0, w, h) | ||
201 | + # self.memorydc.EndDrawing() | ||
202 | + memorydc.SelectObject(wx.NullBitmap) | ||
203 | + # self.bitmap.CopyToBuffer(self._array, wx.BitmapBufferFormat_RGBA) | ||
204 | + | ||
191 | self._cv_image.Modified() | 205 | self._cv_image.Modified() |
192 | 206 | ||
207 | + self.canvas_renderer.Render() | ||
208 | + | ||
209 | + img = self.bitmap.ConvertToImage() | ||
210 | + img.SaveFile('/tmp/manolo.png', wx.BITMAP_TYPE_PNG) | ||
193 | 211 | ||
194 | class Viewer(wx.Panel): | 212 | class Viewer(wx.Panel): |
195 | 213 | ||
@@ -1241,14 +1259,14 @@ class Viewer(wx.Panel): | @@ -1241,14 +1259,14 @@ class Viewer(wx.Panel): | ||
1241 | for actor in self.actors_by_slice_number[index]: | 1259 | for actor in self.actors_by_slice_number[index]: |
1242 | self.slice_data.renderer.AddActor(actor) | 1260 | self.slice_data.renderer.AddActor(actor) |
1243 | 1261 | ||
1244 | - for (m, mr) in self.measures.get(self.orientation, self.slice_data.number): | ||
1245 | - for actor in mr.GetActors(): | ||
1246 | - self.slice_data.renderer.RemoveActor(actor) | 1262 | + # for (m, mr) in self.measures.get(self.orientation, self.slice_data.number): |
1263 | + # for actor in mr.GetActors(): | ||
1264 | + # self.slice_data.renderer.RemoveActor(actor) | ||
1247 | 1265 | ||
1248 | - for (m, mr) in self.measures.get(self.orientation, index): | ||
1249 | - mr.renderer = self.slice_data.renderer | ||
1250 | - for actor in mr.GetActors(): | ||
1251 | - self.slice_data.renderer.AddActor(actor) | 1266 | + # for (m, mr) in self.measures.get(self.orientation, index): |
1267 | + # mr.renderer = self.slice_data.renderer | ||
1268 | + # for actor in mr.GetActors(): | ||
1269 | + # self.slice_data.renderer.AddActor(actor) | ||
1252 | 1270 | ||
1253 | if self.slice_._type_projection == const.PROJECTION_NORMAL: | 1271 | if self.slice_._type_projection == const.PROJECTION_NORMAL: |
1254 | self.slice_data.SetNumber(index) | 1272 | self.slice_data.SetNumber(index) |