This is a little less formal than previous posts, but here goes. First, create a form with a button, a RichText, and a PictureBox.
Here is the source code I wrote to accomplish this. I am a big believer in examples. They tell the story in a far more eloquent way than my witty expose'.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections; using System.IO; using System.Diagnostics; namespace WindowsFormsApplication1 { public partial class Form1 : Form { Process POVRay = new Process(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { StringBuilder povtext = new StringBuilder(); string camera = "camera{location <0,1,-1>*10 look_at<0,0,0>}"; string light1 = "light_source{<0,1,0>*1000 color rgb 1}"; string water = "plane{y,0 texture{pigment{color rgb 0.5}"+ " finish{reflection .2 }" + " normal{ bumps .4 turbulence .7 }}}"; string sphere = "sphere{<0,1,0>,1 pigment{color rgb<1,0,0>}}"; povtext.AppendLine(camera); povtext.AppendLine(light1); povtext.AppendLine(water); povtext.AppendLine(sphere); richTextBox1.Text = povtext.ToString(); //save to file using (StreamWriter sw = new StreamWriter("C:\\temp\\demo.pov")) { // Add some text to the file. sw.WriteLine(povtext); sw.Flush(); sw.Close(); } //launch POV-RAY and create a new bitmap; Process POVRay = new Process(); POVRay.StartInfo.FileName = "C:\\Program Files\\POV3.6\\bin\\pvengine.exe"; POVRay.StartInfo.Arguments = "+IC:\\temp\\demo.pov +OC:\\temp\\demo.bmp +w320 +h200 -P -D /EXIT"; POVRay.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; POVRay.Start(); POVRay.WaitForExit(); this.pictureBox1.Load("file:C:\\temp\\demo.bmp"); } } }
You will need POVRay to run this.
Your assignment: figure out how to launch another application like Word, Firefox, or Notepad.
Enjoy.
No comments:
Post a Comment