Made the oem image always get added to the bed.

This commit is contained in:
larsbrubaker 2014-09-09 15:17:49 -07:00
parent 351db8c852
commit 749bcd06c4
2 changed files with 22 additions and 26 deletions

View file

@ -28,27 +28,21 @@ either expressed or implied, of the FreeBSD Project.
*/ */
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; using System.IO;
using MatterHackers.Agg; using MatterHackers.Agg;
using MatterHackers.Agg.Image; using MatterHackers.Agg.Image;
using MatterHackers.Agg.PlatformAbstract;
using MatterHackers.Agg.UI; using MatterHackers.Agg.UI;
using MatterHackers.Agg.OpenGlGui;
using MatterHackers.PolygonMesh;
using MatterHackers.RenderOpenGl;
using MatterHackers.VectorMath;
using MatterHackers.MatterControl.DataStorage; using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.PrintQueue;
using MatterHackers.MeshVisualizer;
using MatterHackers.MatterControl.SlicerConfiguration; using MatterHackers.MatterControl.SlicerConfiguration;
using MatterHackers.MeshVisualizer;
using MatterHackers.VectorMath;
namespace MatterHackers.MatterControl.PartPreviewWindow namespace MatterHackers.MatterControl.PartPreviewWindow
{ {
public class PartPreview3DWidget : PartPreviewWidget public class PartPreview3DWidget : PartPreviewWidget
{ {
protected bool autoRotateEnabled = false;
public MeshViewerWidget meshViewerWidget; public MeshViewerWidget meshViewerWidget;
event EventHandler unregisterEvents; event EventHandler unregisterEvents;
@ -70,8 +64,25 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight),
ActiveSliceSettings.Instance.BedCenter, ActiveSliceSettings.Instance.BedCenter,
ActiveSliceSettings.Instance.BedShape); ActiveSliceSettings.Instance.BedShape);
PutOemImageOnBed();
}); });
} }
protected void PutOemImageOnBed()
{
// this is to add an image to the bed
string imagePathAndFile = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "OEMSettings", "bedimage.png");
if (autoRotateEnabled && File.Exists(imagePathAndFile))
{
ImageBuffer wattermarkImage = new ImageBuffer();
ImageIO.LoadImageData(imagePathAndFile, wattermarkImage);
ImageBuffer bedImage = meshViewerWidget.BedImage;
Graphics2D bedGraphics = bedImage.NewGraphics2D();
bedGraphics.Render(wattermarkImage,
new Vector2((bedImage.Width - wattermarkImage.Width) / 2, (bedImage.Height - wattermarkImage.Height) / 2));
}
}
public override void OnClosed(EventArgs e) public override void OnClosed(EventArgs e)
{ {

View file

@ -35,11 +35,8 @@ using System.Globalization;
using System.IO; using System.IO;
using System.Threading; using System.Threading;
using MatterHackers.Agg; using MatterHackers.Agg;
using MatterHackers.Agg.Image;
using MatterHackers.Agg.PlatformAbstract;
using MatterHackers.Agg.UI; using MatterHackers.Agg.UI;
using MatterHackers.Localizations; //Added Namespace using MatterHackers.Localizations; //Added Namespace
using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.PrinterCommunication; using MatterHackers.MatterControl.PrinterCommunication;
using MatterHackers.MatterControl.PrintQueue; using MatterHackers.MatterControl.PrintQueue;
using MatterHackers.MeshVisualizer; using MatterHackers.MeshVisualizer;
@ -96,7 +93,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
List<PlatingMeshData> asynchPlatingDataList = new List<PlatingMeshData>(); List<PlatingMeshData> asynchPlatingDataList = new List<PlatingMeshData>();
List<PlatingMeshData> MeshExtraData; List<PlatingMeshData> MeshExtraData;
bool autoRotateEnabled = true;
public ScaleRotateTranslate SelectedMeshTransform public ScaleRotateTranslate SelectedMeshTransform
{ {
@ -278,19 +274,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
viewArea.AnchorAll(); viewArea.AnchorAll();
{ {
meshViewerWidget = new MeshViewerWidget(viewerVolume, bedCenter, bedShape, "Press 'Add' to select an item.".Localize()); meshViewerWidget = new MeshViewerWidget(viewerVolume, bedCenter, bedShape, "Press 'Add' to select an item.".Localize());
// this is to add an image to the bed
string imagePathAndFile = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "OEMSettings", "bedimage.png");
if (autoRotateEnabled && File.Exists(imagePathAndFile))
{
ImageBuffer wattermarkImage = new ImageBuffer();
ImageIO.LoadImageData(imagePathAndFile, wattermarkImage);
ImageBuffer bedImage = meshViewerWidget.BedImage; PutOemImageOnBed();
Graphics2D bedGraphics = bedImage.NewGraphics2D();
bedGraphics.Render(wattermarkImage,
new Vector2((bedImage.Width - wattermarkImage.Width) / 2, (bedImage.Height - wattermarkImage.Height)/2));
}
meshViewerWidget.AnchorAll(); meshViewerWidget.AnchorAll();
} }