MVC 3またはasp.NetでKindEditorを修正して画像をアップロードするときに透かしを追加

2854 ワード

主に2つのファイルを変更します:image.jsとupload_json.ashxファイル.
一、imageを修正する.jsファイル
kindeditor/plugins/imageディレクトリの下のimageを開きます.jsファイル、見つかりました
'<input type="button" class="ke-upload-button" value="' + lang.upload + '" />',

この行のコードの下に追加
 '<label style="width:60px;">    </label>',

            '<input type="text" name="water" value="       "/>',

二、upload_を修正するjson.ashxファイル.
kindeditor/aspを開きます.Netディレクトリの下のupload_json.ashxファイル、
見つける
String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt;

        String filePath = dirPath + newFileName;

        imgFile.SaveAs(filePath);

        String fileUrl = saveUrl + newFileName;

この場所を、
String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo);

        String filePath = dirPath + newFileName + fileExt;

        imgFile.SaveAs(filePath);       

        String fileUrl = saveUrl + newFileName + fileExt;

        //      

        Image image = System.Drawing.Image.FromFile(filePath);

        Graphics g = Graphics.FromImage(image);

        g.DrawImage(image, 0, 0, image.Width, image.Height);

        Font f = new Font("Verdana", 32);

        Brush b = new SolidBrush(Color.Red);

        string addText = context.Request.Form["water"];

        g.DrawString(addText, f, b, 10, 10);

        g.Dispose();

        //          ,      

        string newPath = dirPath + newFileName + "_new" + fileExt;

        image.Save(newPath);

        image.Dispose();

        if (File.Exists(filePath))

        {

            File.Delete(filePath);

        }

        fileUrl = saveUrl + newFileName + "_new" + fileExt;

これでいいです.透かし文字の色はColor.Redという場所を設定し、位置はg.DrawString(addText,f,b,10,10)という行のコードの後ろの2つのパラメータで設定できます.