日期:2014-05-16  浏览次数:20615 次

一段图片处理代码PHP代码转C#代码

把下面代码转换成 C#代码


$res = json_decode(stripslashes($_POST['jsondata']), true);
/* get data */
$count_images = count($res['images']);
/* the background image is the first one */
$background  = $res['images'][0]['src'];
$photo1  = imagecreatefromjpeg($background);
$foto1W  = imagesx($photo1);
$foto1H  = imagesy($photo1);
$photoFrameW  = $res['images'][0]['width'];
$photoFrameH  = $res['images'][0]['height'];
$photoFrame  = imagecreatetruecolor($photoFrameW,$photoFrameH);
imagecopyresampled($photoFrame, $photo1, 0, 0, 0, 0, $photoFrameW, $photoFrameH, $foto1W, $foto1H);

/* the other images */
for($i = 1; $i < $count_images; ++$i){
$insert  = $res['images'][$i]['src'];
$photoFrame2Rotation = (180-$res['images'][$i]['rotation']) + 180;

$photo2  = imagecreatefrompng($insert);

$foto2W  = imagesx($photo2);
$foto2H  = imagesy($photo2);
$photoFrame2W = $res['images'][$i]['width'];
$photoFrame2H  = $res['images'][$i]['height'];

$photoFrame2TOP = $res['images'][$i]['top'];
$photoFrame2LEFT= $res['images'][$i]['left'];

$photoFrame2  = imagecreatetruecolor($photoFrame2W,$photoFrame2H);
$trans_colour  = imagecolorallocatealpha($photoFrame2, 0, 0, 0, 127);
imagefill($photoFrame2, 0, 0, $trans_colour);

imagecopyresampled($photoFrame2, $photo2, 0, 0, 0, 0, $photoFrame2W, $photoFrame2H, $foto2W, $foto2H);

$photoFrame2  = imagerotate($photoFrame2,$photoFrame2Rotation, -1,0);
/*after rotating calculate the difference of new height/width with the one before*/
$extraTop =(imagesy($photoFrame2)-$photoFrame2H)/2;
$extraLeft =(imagesx($photoFrame2)-$photoFrame2W)/2;

imagecopy($photoFrame, $photoFrame2,$photoFrame2LEFT-$extraLeft, $photoFrame2TOP-$extraTop, 0, 0, imagesx($photoFrame2), imagesy($photoFrame2));
}
// Set the content type header - in this case image/jpeg
header('Content-type: image/jpeg');
imagejpeg($photoFrame, $targetfile); 
imagedestroy($photoFrame);

------解决方案--------------------
        //使用图片为水印
        public static string ReSizePhoto(string filePath, string LogoPath, int width, int height)
        {
            string fileName = System.IO.Path.GetFileName(filePath).ToLower();
            string fileExtension = System.IO.Path.GetExtension(filePath).ToLower();
            string document = System.IO.Path.GetDirectoryName(filePath) + "\\";
            bool check = false;
            switch (fileExtension)
  &n