how to add watermark in image

Please support our C# advertiser: Intel Parallel Studio Home
Reply

Join Date: Mar 2008
Posts: 57
Reputation: dskumar_85 is an unknown quantity at this point 
Solved Threads: 1
dskumar_85 dskumar_85 is offline Offline
Junior Poster in Training

how to add watermark in image

 
0
  #1
Mar 25th, 2008
hai everybody....

i am kumar ,and i new to this site ...!! can any one help me that how can i add watermark while
uploading the image to database......
Reply With Quote Quick reply to this message  
Join Date: May 2005
Posts: 508
Reputation: techniner is an unknown quantity at this point 
Solved Threads: 19
techniner techniner is offline Offline
Posting Pro

Re: how to add watermark in image

 
0
  #2
Mar 25th, 2008
  1. using System;
  2.  
  3. using System.Collections.Generic;
  4.  
  5. using System.ComponentModel;
  6.  
  7. using System.Data;
  8.  
  9. using System.Drawing;
  10.  
  11. using System.Drawing.Drawing2D;
  12.  
  13. using System.Drawing.Imaging;
  14.  
  15. using System.Text;
  16.  
  17. using System.Windows.Forms;
  18.  
  19.  
  20.  
  21. namespace Watermarking
  22.  
  23. {
  24.  
  25. /// <summary>
  26.  
  27. /// An Image Watermarking Utility
  28.  
  29. /// </summary>
  30.  
  31. public partial class frmWatermark : Form
  32.  
  33. {
  34. #region Member Variables
  35.  
  36.  
  37.  
  38. string CurrentFile;
  39.  
  40. Image img;
  41.  
  42. ImageCodecInfo myImageCodecInfo;
  43.  
  44. System.Drawing.Imaging.Encoder myEncoder;
  45.  
  46. EncoderParameter myEncoderParameter;
  47.  
  48. EncoderParameters myEncoderParameters;
  49.  
  50. System.Drawing.Color myWatermarkColor;
  51.  
  52. System.Drawing.Font myFont;
  53.  
  54.  
  55.  
  56. #endregion
  57.  
  58. #region Constructor
  59.  
  60.  
  61.  
  62. /// <summary>
  63.  
  64. /// constructor with default configuration settings
  65.  
  66. /// </summary>
  67.  
  68. public frmWatermark()
  69.  
  70. {
  71.  
  72. InitializeComponent();
  73.  
  74.  
  75.  
  76. // setup default settings
  77.  
  78. myWatermarkColor = Color.SteelBlue;
  79.  
  80. cboOpacity.SelectedIndex = 2;
  81.  
  82. optTop.Checked = true;
  83.  
  84. txtWaterMark.Text = "Your Name " +
  85.  
  86. char.ConvertFromUtf32(169).ToString() + " " +
  87.  
  88. DateTime.Now.Year.ToString() + ", All Rights Reserved";
  89.  
  90. myFont = txtWaterMark.Font;
  91.  
  92. }
  93.  
  94.  
  95.  
  96. #endregion
  97.  
  98.  
  99. #region File IO
  100.  
  101.  
  102.  
  103. /// <summary>
  104.  
  105. /// Open an image file into the picture box control
  106.  
  107. /// </summary>
  108.  
  109. /// <param name="sender"></param>
  110.  
  111. /// <param name="e"></param>
  112.  
  113. private void openToolStripMenuItem_Click(object sender, EventArgs e)
  114.  
  115. {
  116.  
  117. // configure the open file dialog to point to some
  118.  
  119. // common (usable) image file formats
  120.  
  121. openFileDialog1.Title = "Open Image File";
  122.  
  123. openFileDialog1.Filter = "Bitmap Files|*.bmp" +
  124.  
  125. "|Enhanced Windows MetaFile|*.emf" +
  126.  
  127. "|Exchangeable Image File|*.exif" +
  128.  
  129. "|Gif Files|*.gif|JPEG Files|*.jpg" +
  130.  
  131. "|PNG Files|*.png|TIFF Files|*.tif|Windows MetaFile|*.wmf";
  132.  
  133. openFileDialog1.DefaultExt = "bmp";
  134.  
  135. openFileDialog1.FilterIndex = 1;
  136.  
  137. openFileDialog1.FileName = "";
  138.  
  139. openFileDialog1.ShowDialog();
  140.  
  141.  
  142.  
  143. // if the user did not select a file, return
  144.  
  145. if (openFileDialog1.FileName == "")
  146.  
  147. return;
  148.  
  149.  
  150.  
  151. // update the current file and form caption text
  152.  
  153. CurrentFile = openFileDialog1.FileName.ToString();
  154.  
  155. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  156.  
  157.  
  158.  
  159. try
  160.  
  161. {
  162.  
  163. // open the image into the picture box
  164.  
  165. img = Image.FromFile(openFileDialog1.FileName, true);
  166.  
  167. picContainer.Image = img;
  168.  
  169.  
  170.  
  171. // resize the picture box to support scrolling
  172.  
  173. // large images
  174.  
  175. picContainer.Size = img.Size;
  176.  
  177. }
  178.  
  179. catch (Exception ex)
  180.  
  181. {
  182.  
  183. MessageBox.Show(ex.Message, "File Open Error");
  184.  
  185. }
  186.  
  187. }
  188.  
  189.  
  190.  
  191. /// <summary>
  192.  
  193. /// Save the Current Image with the Watermark
  194.  
  195. /// </summary>
  196.  
  197. /// <param name="sender"></param>
  198.  
  199. /// <param name="e"></param>
  200.  
  201. private void btnSave_Click(object sender, EventArgs e)
  202.  
  203. {
  204.  
  205. try
  206.  
  207. {
  208.  
  209. // get the extension to figure out how to limit the save
  210.  
  211. // option to the current image file type
  212.  
  213. string strExt;
  214.  
  215. strExt = System.IO.Path.GetExtension(CurrentFile);
  216.  
  217. strExt = strExt.ToUpper();
  218.  
  219. strExt = strExt.Remove(0, 1);
  220.  
  221.  
  222.  
  223. // if the current image is, for example, a gif, only
  224.  
  225. // allow the user to save the file with the watermark
  226.  
  227. // as a gif
  228.  
  229. SaveFileDialog1.Title = "Save File";
  230.  
  231. SaveFileDialog1.DefaultExt = strExt;
  232.  
  233. SaveFileDialog1.Filter = strExt + " Image Files|*." + strExt;
  234.  
  235. SaveFileDialog1.FilterIndex = 1;
  236.  
  237.  
  238.  
  239. if (SaveFileDialog1.ShowDialog() == DialogResult.OK)
  240.  
  241. {
  242.  
  243. if (SaveFileDialog1.FileName == "")
  244.  
  245. {
  246.  
  247. return;
  248.  
  249. }
  250.  
  251. else
  252.  
  253. {
  254.  
  255. // save the file with the name supplied by the user
  256.  
  257. picContainer.Image.Save(SaveFileDialog1.FileName);
  258.  
  259. }
  260.  
  261.  
  262.  
  263. // update the current image file to point to the newly saved image
  264.  
  265. CurrentFile = SaveFileDialog1.FileName;
  266.  
  267. this.Text = "Watermark Utility: " + CurrentFile;
  268.  
  269. MessageBox.Show(CurrentFile.ToString() + " saved.", "FileSave");
  270.  
  271. }
  272.  
  273. else
  274.  
  275. {
  276.  
  277. MessageBox.Show("The save file request was cancelled by
  278.  
  279. user.", "Save Cancelled");
  280.  
  281. }
  282.  
  283. }
  284.  
  285. catch (Exception ex)
  286.  
  287. {
  288.  
  289. MessageBox.Show(ex.Message.ToString(), "Image Save Error");
  290.  
  291. }
  292.  
  293. }
  294.  
  295.  
  296.  
  297. #endregion
  298.  
  299.  
  300. #region Image Format Conversion
  301.  
  302.  
  303.  
  304. /// <summary>
  305.  
  306. /// Return the available image encoders
  307.  
  308. /// </summary>
  309.  
  310. /// <param name="mimeType"></param>
  311.  
  312. /// <returns></returns>
  313.  
  314. private static ImageCodecInfo GetEncoderInfo(String mimeType)
  315.  
  316. {
  317.  
  318. int j;
  319.  
  320. ImageCodecInfo[] encoders;
  321.  
  322. encoders = ImageCodecInfo.GetImageEncoders();
  323.  
  324. for (j = 0; j < encoders.Length; ++j)
  325.  
  326. {
  327.  
  328. if (encoders[j].MimeType == mimeType)
  329.  
  330. return encoders[j];
  331.  
  332. }
  333.  
  334. return null;
  335.  
  336. }
  337.  
  338.  
  339.  
  340. /// <summary>
  341.  
  342. /// Convert the current file to a bitmap
  343.  
  344. /// </summary>
  345.  
  346. /// <param name="sender"></param>
  347.  
  348. /// <param name="e"></param>
  349.  
  350. private void bitmapToolStripMenuItem_Click(object sender,
  351.  
  352. EventArgs e)
  353.  
  354. {
  355.  
  356. // create a new name with the bitmap extension
  357.  
  358. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  359.  
  360. newName = newName + ".bmp";
  361.  
  362.  
  363.  
  364. try
  365.  
  366. {
  367.  
  368. // save the file as a bitmap
  369.  
  370. img.Save(newName, ImageFormat.Bmp);
  371.  
  372. CurrentFile = newName;
  373.  
  374. picContainer.Image = Image.FromFile(CurrentFile);
  375.  
  376. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  377.  
  378. }
  379.  
  380. catch
  381.  
  382. {
  383.  
  384. MessageBox.Show("Failed to save image to bitmap.", "Error",
  385.  
  386. MessageBoxButtons.OK, MessageBoxIcon.Error);
  387.  
  388. return;
  389.  
  390. }
  391.  
  392. MessageBox.Show("Image file saved to " + newName.ToString(),
  393.  
  394. "Image Saved", MessageBoxButtons.OK,MessageBoxIcon.Information);
  395.  
  396. }
  397.  
  398.  
  399. /// <summary>
  400.  
  401. /// Convert the current image file to an EMF file
  402.  
  403. /// </summary>
  404.  
  405. /// <param name="sender"></param>
  406.  
  407. /// <param name="e"></param>
  408.  
  409. private void emfToolStripMenuItem_Click(object sender, EventArgs e)
  410.  
  411. {
  412.  
  413. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  414.  
  415. newName = newName + ".emf";
  416.  
  417.  
  418.  
  419. try
  420.  
  421. {
  422.  
  423. img.Save(newName, ImageFormat.Emf);
  424.  
  425. CurrentFile = newName;
  426.  
  427. picContainer.Image = Image.FromFile(CurrentFile);
  428.  
  429. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  430.  
  431. }
  432.  
  433. catch
  434.  
  435. {
  436.  
  437. MessageBox.Show("Failed to save image to EMF format.",
  438.  
  439. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  440.  
  441. return;
  442.  
  443. }
  444.  
  445. MessageBox.Show("Image file saved to " + newName.ToString(),
  446.  
  447. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  448.  
  449. }
  450.  
  451.  
  452. /// <summary>
  453.  
  454. /// Convert the current image file to an EXIF file
  455.  
  456. /// </summary>
  457.  
  458. /// <param name="sender"></param>
  459.  
  460. /// <param name="e"></param>
  461.  
  462. private void exifToolStripMenuItem_Click(object sender, EventArgs e)
  463.  
  464. {
  465.  
  466. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  467.  
  468. newName = newName + ".exif";
  469.  
  470.  
  471.  
  472. try
  473.  
  474. {
  475.  
  476. img.Save(newName, ImageFormat.Exif);
  477.  
  478. CurrentFile = newName;
  479.  
  480. picContainer.Image = Image.FromFile(CurrentFile);
  481.  
  482. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  483.  
  484. }
  485.  
  486. catch
  487.  
  488. {
  489.  
  490. MessageBox.Show("Failed to save image to EXIF format.",
  491.  
  492. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  493.  
  494. return;
  495.  
  496. }
  497.  
  498. MessageBox.Show("Image file saved to " + newName.ToString(),
  499.  
  500. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  501.  
  502. }
  503.  
  504.  
  505.  
  506. /// <summary>
  507.  
  508. /// Convert the current image file to GIF format
  509.  
  510. /// </summary>
  511.  
  512. /// <param name="sender"></param>
  513.  
  514. /// <param name="e"></param>
  515.  
  516. private void gIFFileToolStripMenuItem_Click(object sender,
  517.  
  518. EventArgs e)
  519.  
  520. {
  521.  
  522. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  523.  
  524. newName = newName + ".gif";
  525.  
  526.  
  527.  
  528. try
  529.  
  530. {
  531.  
  532. img.Save(newName, ImageFormat.Gif);
  533.  
  534. CurrentFile = newName;
  535.  
  536. picContainer.Image = Image.FromFile(CurrentFile);
  537.  
  538. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  539.  
  540. }
  541.  
  542. catch
  543.  
  544. {
  545.  
  546. MessageBox.Show("Failed to save image to GIF format.",
  547.  
  548. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  549.  
  550. return;
  551.  
  552. }
  553.  
  554. MessageBox.Show("Image file saved to " + newName.ToString(),
  555.  
  556. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  557.  
  558. }
  559.  
  560. /// <summary>
  561.  
  562. /// Convert the current image file to JPEG format
  563.  
  564. /// </summary>
  565.  
  566. /// <param name="sender"></param>
  567.  
  568. /// <param name="e"></param>
  569.  
  570. private void jPEGFileToolStripMenuItem_Click(object sender,
  571.  
  572. EventArgs e)
  573.  
  574. {
  575.  
  576. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  577.  
  578. newName = newName + ".jpg";
  579.  
  580.  
  581.  
  582. // Get an ImageCodecInfo object that represents the JPEG codec.
  583.  
  584. myImageCodecInfo = GetEncoderInfo("image/jpeg");
  585.  
  586.  
  587.  
  588. // for the Quality parameter category.
  589.  
  590. myEncoder = System.Drawing.Imaging.Encoder.Quality;
  591.  
  592.  
  593.  
  594. // EncoderParameter object in the array.
  595.  
  596. myEncoderParameters = new EncoderParameters(1);
  597.  
  598.  
  599.  
  600. try
  601.  
  602. {
  603.  
  604. // Save the bitmap as a JPEG file with quality level 75.
  605.  
  606. myEncoderParameter = new EncoderParameter(myEncoder, 75L);
  607.  
  608. myEncoderParameters.Param[0] = myEncoderParameter;
  609.  
  610. img.Save(newName, myImageCodecInfo, myEncoderParameters);
  611.  
  612. CurrentFile = newName;
  613.  
  614. picContainer.Image = Image.FromFile(CurrentFile);
  615.  
  616. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  617.  
  618. }
  619.  
  620. catch
  621.  
  622. {
  623.  
  624. MessageBox.Show("Failed to save image to JPEG format.",
  625.  
  626. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  627.  
  628. return;
  629.  
  630. }
  631.  
  632. MessageBox.Show("Image file saved to " + newName.ToString(),
  633.  
  634. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  635.  
  636. }
  637.  
  638.  
  639.  
  640. /// <summary>
  641.  
  642. /// Convert the current image file to PNG format
  643.  
  644. /// </summary>
  645.  
  646. /// <param name="sender"></param>
  647.  
  648. /// <param name="e"></param>
  649.  
  650. private void pNGFileToolStripMenuItem_Click(object sender,
  651.  
  652. EventArgs e)
  653.  
  654. {
  655.  
  656. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  657.  
  658. newName = newName + ".png";
  659.  
  660.  
  661.  
  662. try
  663.  
  664. {
  665.  
  666. img.Save(newName, ImageFormat.Png);
  667.  
  668. CurrentFile = newName;
  669.  
  670. picContainer.Image = Image.FromFile(CurrentFile);
  671.  
  672. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  673.  
  674. }
  675.  
  676. catch
  677.  
  678. {
  679.  
  680. MessageBox.Show("Failed to save image to PNG format.",
  681.  
  682. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  683.  
  684. return;
  685.  
  686. }
  687.  
  688. MessageBox.Show("Image file saved to " + newName.ToString(),
  689.  
  690. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  691.  
  692. }
  693.  
  694.  
  695.  
  696. /// <summary>
  697.  
  698. /// Convert the current image file to TIFF format
  699.  
  700. /// </summary>
  701.  
  702. /// <param name="sender"></param>
  703.  
  704. /// <param name="e"></param>
  705.  
  706. private void tIFFFileToolStripMenuItem_Click(object sender,
  707.  
  708. EventArgs e)
  709.  
  710. {
  711.  
  712. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  713.  
  714. newName = newName + ".tif";
  715.  
  716.  
  717.  
  718. try
  719.  
  720. {
  721.  
  722. img.Save(newName, ImageFormat.Tiff);
  723.  
  724. CurrentFile = newName;
  725.  
  726. picContainer.Image = Image.FromFile(CurrentFile);
  727.  
  728. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  729.  
  730. }
  731.  
  732. catch
  733.  
  734. {
  735.  
  736. MessageBox.Show("Failed to save image to TIFF format.",
  737.  
  738. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  739.  
  740. return;
  741.  
  742. }
  743.  
  744. MessageBox.Show("Image file saved to " + newName.ToString(),
  745.  
  746. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  747.  
  748. }
  749.  
  750.  
  751.  
  752. /// <summary>
  753.  
  754. /// Convert the current image to WMF format
  755.  
  756. /// </summary>
  757.  
  758. /// <param name="sender"></param>
  759.  
  760. /// <param name="e"></param>
  761.  
  762. private void windowsMetafileToolStripMenuItem_Click(object sender,
  763.  
  764. EventArgs e)
  765.  
  766. {
  767.  
  768. string newName = System.IO.Path.GetFileNameWithoutExtension(CurrentFile);
  769.  
  770. newName = newName + ".wmf";
  771.  
  772.  
  773.  
  774. try
  775.  
  776. {
  777.  
  778. img.Save(newName, ImageFormat.Wmf);
  779.  
  780. CurrentFile = newName;
  781.  
  782. picContainer.Image = Image.FromFile(CurrentFile);
  783.  
  784. this.Text = "Watermark Utility: " + CurrentFile.ToString();
  785.  
  786. }
  787.  
  788. catch
  789.  
  790. {
  791.  
  792. MessageBox.Show("Failed to save image to WMF format.",
  793.  
  794. "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  795.  
  796. return;
  797.  
  798. }
  799.  
  800. MessageBox.Show("Image file saved to " + newName.ToString(),
  801.  
  802. "Image Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
  803.  
  804. }
  805.  
  806.  
  807.  
  808. #endregion
  809.  
  810.  
  811. Following the image conversion routines, the next region of code is used to perform the actual water marking functions.
  812.  
  813. #region Watermarking
  814.  
  815.  
  816.  
  817. /// <summary>
  818.  
  819. /// Display the watermark as it would appear after the
  820.  
  821. /// watermark were saved to the file
  822.  
  823. /// </summary>
  824.  
  825. /// <param name="sender"></param>
  826.  
  827. /// <param name="e"></param>
  828.  
  829. private void btnPreview_Click(object sender, EventArgs e)
  830.  
  831. {
  832.  
  833. // Update the applicaton by reloading the image
  834.  
  835. picContainer.Image = Image.FromFile(CurrentFile);
  836.  
  837.  
  838.  
  839. int opac = 0;
  840.  
  841. string sOpacity = cboOpacity.Text;
  842.  
  843.  
  844.  
  845. // Determine the opacity of the watermark
  846.  
  847. switch (sOpacity)
  848.  
  849. {
  850.  
  851. case "100%":
  852.  
  853. opac = 255; // 1 * 255
  854.  
  855. break;
  856.  
  857. case "75%":
  858.  
  859. opac = 191; // .75 * 255
  860.  
  861. break;
  862.  
  863. case "50%":
  864.  
  865. opac = 127; // .5 * 255
  866.  
  867. break;
  868.  
  869. case "25%":
  870.  
  871. opac = 64; // .25 * 255
  872.  
  873. break;
  874.  
  875. case "10%":
  876.  
  877. opac = 25; // .10 * 255
  878.  
  879. break;
  880.  
  881. default:
  882.  
  883. opac = 127; // default at 50%; .5 * 255
  884.  
  885. break;
  886.  
  887. }
  888.  
  889. // Get a graphics context
  890.  
  891. Graphics g = Graphics.FromImage(picContainer.Image);
  892.  
  893.  
  894.  
  895. // Create a solid brush to write the watermark text on the image
  896.  
  897. Brush myBrush = new SolidBrush(Color.FromArgb(opac,myWatermarkColor));
  898.  
  899.  
  900.  
  901. // Calculate the size of the text
  902.  
  903. SizeF sz = g.MeasureString(txtWaterMark.Text, myFont);
  904.  
  905.  
  906.  
  907. // Creae a copy of variables to keep track of the drawing position (X,Y)
  908.  
  909. int X;
  910.  
  911. int Y;
  912.  
  913.  
  914.  
  915. // Set the drawing position based on the users
  916.  
  917. // selection of placing the text at the bottom or top of the image
  918.  
  919. if (optTop.Checked == true)
  920.  
  921. {
  922.  
  923. X = (int)(picContainer.Image.Width - sz.Width) / 2;
  924.  
  925. Y = (int)(picContainer.Top + sz.Height) / 2;
  926.  
  927. }
  928.  
  929. else
  930.  
  931. {
  932.  
  933. X = (int)(picContainer.Image.Width - sz.Width) / 2;
  934.  
  935. Y = (int)(picContainer.Image.Height - sz.Height);
  936.  
  937. }
  938.  
  939.  
  940.  
  941. // draw the water mark text
  942.  
  943. g.DrawString(txtWaterMark.Text, myFont, myBrush,
  944.  
  945. new Point(X, Y));
  946.  
  947. }
  948.  
  949.  
  950.  
  951. /// <summary>
  952.  
  953. /// Set the font and color of the font for the watermark
  954.  
  955. /// </summary>
  956.  
  957. /// <param name="sender"></param>
  958.  
  959. /// <param name="e"></param>
  960.  
  961. private void btnFont_Click(object sender, EventArgs e)
  962.  
  963. {
  964.  
  965. // default the current font and color to that
  966.  
  967. // used in the watermark textbox
  968.  
  969. fontDialog1.ShowColor = true;
  970.  
  971. fontDialog1.Font = txtWaterMark.Font;
  972.  
  973. fontDialog1.Color = txtWaterMark.ForeColor;
  974.  
  975.  
  976.  
  977. if (fontDialog1.ShowDialog() != DialogResult.Cancel)
  978.  
  979. {
  980.  
  981. myFont = fontDialog1.Font;
  982.  
  983. myWatermarkColor = fontDialog1.Color;
  984.  
  985. txtWaterMark.Font = fontDialog1.Font;
  986.  
  987. txtWaterMark.ForeColor = fontDialog1.Color;
  988.  
  989. }
  990.  
  991. }
  992.  
  993.  
  994.  
  995. #endregion


Once you have your converted image then do a simple IO call to save then run your upload script on the newly created file
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the C# Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC