php图片变成代码怎么解决,一段图片处理代码PHP代码转C#代码,该怎么解决

一段图片处理代码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 

$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)

{

case ".jpg": check = true;

break;

case ".gif": check = true;

break;

default: check = false;

break;

}

//图片按比例缩放算法

if (check)

{

string saveName = Squirrel.Component.doEncrypt.SMD5(Guid.NewGuid().ToString().Replace("-", "")).Replace("-", "").ToLower().Substring(8, 16) + fileExtension;

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

double h = Convert.ToDouble(image.Height.ToString());

double w = Convert.ToDouble(image.Width.ToString());

double bl = h / w;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值