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 | 156 | |
157 | 157 | def _init_canvas(self): |
158 | 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 | 161 | self._cv_image = converters.np_rgba_to_vtk(self._array) |
162 | 162 | |
... | ... | @@ -172,11 +172,14 @@ class CanvasRendererCTX: |
172 | 172 | |
173 | 173 | self.canvas_renderer.AddActor2D(self.actor) |
174 | 174 | |
175 | + self.bitmap = wx.EmptyBitmapRGBA(w, h) | |
176 | + | |
175 | 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 | 179 | self._cv_image = converters.np_rgba_to_vtk(self._array) |
178 | 180 | self.mapper.SetInputData(self._cv_image) |
179 | 181 | self.mapper.Update() |
182 | + self.bitmap = wx.EmptyBitmapRGBA(w, h) | |
180 | 183 | |
181 | 184 | def OnPaint(self, evt, obj): |
182 | 185 | size = self.canvas_renderer.GetSize() |
... | ... | @@ -185,11 +188,26 @@ class CanvasRendererCTX: |
185 | 188 | self._size = size |
186 | 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 | 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 | 212 | class Viewer(wx.Panel): |
195 | 213 | |
... | ... | @@ -1241,14 +1259,14 @@ class Viewer(wx.Panel): |
1241 | 1259 | for actor in self.actors_by_slice_number[index]: |
1242 | 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 | 1271 | if self.slice_._type_projection == const.PROJECTION_NORMAL: |
1254 | 1272 | self.slice_data.SetNumber(index) | ... | ... |