From 7886ad411b71d068870c358f1a2e949ed7919e0e Mon Sep 17 00:00:00 2001 From: daid303 Date: Fri, 5 Oct 2012 12:25:31 +0200 Subject: [PATCH] Added webcam overlay to show which software and printer created the timelaps. --- Cura/gui/webcam.py | 20 +++++++++++++++++--- Cura/images/cura-overlay.png | Bin 0 -> 13314 bytes Cura/images/ultimaker-overlay.png | Bin 0 -> 17430 bytes 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 Cura/images/cura-overlay.png create mode 100644 Cura/images/ultimaker-overlay.png diff --git a/Cura/gui/webcam.py b/Cura/gui/webcam.py index d4fe69c..a704372 100644 --- a/Cura/gui/webcam.py +++ b/Cura/gui/webcam.py @@ -1,6 +1,9 @@ import os, glob, subprocess, platform import wx +from util import profile +from gui import toolbarUtil + try: #Try to find the OpenCV library for video capture. from opencv import cv @@ -33,6 +36,8 @@ def getFFMPEGpath(): class webcam(object): def __init__(self): self._cam = None + self._overlayImage = toolbarUtil.getBitmapImage("cura-overlay.png") + self._overlayUltimaker = toolbarUtil.getBitmapImage("ultimaker-overlay.png") if cv != None: self._cam = highgui.cvCreateCameraCapture(-1) elif win32vidcap != None: @@ -77,7 +82,7 @@ class webcam(object): if cv != None: frame = cv.QueryFrame(self._cam) cv.CvtColor(frame, frame, cv.CV_BGR2RGB) - self._bitmap = wx.BitmapFromBuffer(frame.width, frame.height, frame.imageData) + bitmap = wx.BitmapFromBuffer(frame.width, frame.height, frame.imageData) elif win32vidcap != None: buffer, width, height = self._cam.getbuffer() try: @@ -85,16 +90,25 @@ class webcam(object): wxImage.SetData(buffer[::-1]) if self._bitmap != None: del self._bitmap - self._bitmap = wxImage.ConvertToBitmap() + bitmap = wxImage.ConvertToBitmap() del wxImage del buffer except: pass + dc = wx.MemoryDC() + dc.SelectObject(bitmap) + dc.DrawBitmap(self._overlayImage, bitmap.GetWidth() - self._overlayImage.GetWidth() - 5, 5, True) + if profile.getPreference('machine_type') == 'ultimaker': + dc.DrawBitmap(self._overlayUltimaker, (bitmap.GetWidth() - self._overlayUltimaker.GetWidth()) / 2, bitmap.GetHeight() - self._overlayUltimaker.GetHeight() - 5, True) + dc.SelectObject(wx.NullBitmap) + + self._bitmap = bitmap + if self._doTimelaps: filename = os.path.normpath(os.path.join(os.path.split(__file__)[0], "../__tmp_snap", "__tmp_snap_%04d.jpg" % (self._snapshotCount))) self._snapshotCount += 1 - self._bitmap.SaveFile(filename, wx.BITMAP_TYPE_JPEG) + bitmap.SaveFile(filename, wx.BITMAP_TYPE_JPEG) return self._bitmap diff --git a/Cura/images/cura-overlay.png b/Cura/images/cura-overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..a4638f708d533afca79613214854b80c46229815 GIT binary patch literal 13314 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 M07*qoM6N<$g3JaHwEzGB literal 0 HcmV?d00001 diff --git a/Cura/images/ultimaker-overlay.png b/Cura/images/ultimaker-overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..422739db57497095289df620b787ffc03b2ec045 GIT binary patch literal 17430 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