1
我正在尋找「將所有圖像格式轉換爲JPG」的解決方案。c#將所有圖像格式轉換爲JPG
我當前的代碼:
public ActionResult UploadProfilFotografi(HttpPostedFileBase file)
{
int sessionUID = int.Parse(Session["UID"].ToString());
using (var dbContext = new DB_EMafya())
{
if (file != null
&& file.ContentLength > 1
&& file.ContentLength < 5120
&& myFunction.IsImage(file))
{
var users = dbContext
.tbl_Users
.FirstOrDefault(a => a.UID == sessionUID);
if (users != null)
{
string newPicName = (string) Session["UID"];
string extension = Path.GetExtension(file.FileName);
if (extension != null)
{
string picext = extension.ToLower();
string originalpath = Path.Combine(
Server.MapPath("~/up/profile-pictures/originals"),
newPicName + picext);
// file is uploaded
file.SaveAs(originalpath);
}
}
}
}
return RedirectToAction("ProfilAyarlari", "Profil");
}
你能幫上這個嗎?
我找到一個解決方案: c# convert image formats to jpg
我編輯了一些並增加了一些更值的功能。並將代碼放入使用中。
private void SaveAsJpgWithVaryQualityLevel(HttpPostedFileBase file, string toPath, string fileName)
{
using (var target = new MemoryStream())
{
file.InputStream.CopyTo(target);
using (var bmp1 = new Bitmap(target)) // Get a bitmap.
{
var jgpEncoder = GetEncoder(ImageFormat.Jpeg);
var myEncoder = Encoder.Quality;
using (var myEncoderParameters = new EncoderParameters(1))
{
using (var myEncoderParameter = new EncoderParameter(myEncoder, 100L))
{
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"" + toPath + fileName, jgpEncoder, myEncoderParameters);
}
}
}
}
}
private ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
return codecs.FirstOrDefault(codec => codec.FormatID == format.Guid);
}
呼喚:
string newPicName = Convert.ToString(Session["UID"]) + ".jpg";
string toPath = Server.MapPath("~/_up/profile-pictures/originals/");
SaveAsJpgWithVaryQualityLevel(file, toPath, newPicName); // file is uploaded
的如何是代碼相關去...什麼?它不做任何類型的轉換。你對你的問題的*轉換*部分進行了什麼嘗試?另外,你爲什麼關心一切都是JPG?網絡上還有其他幾種格式。如果他們*必須*爲JPG,爲什麼不強制上傳? – debracey
親愛的debracey,我想將所有圖像轉換爲jpg,因爲我只想知道所有用戶上傳的JPG格式。而我是新的。順便說一句@BartoszKP,感謝編輯。問候 –
看看這裏讓你開始http://stackoverflow.com/questions/11807971/imagemagick-net-issues – rene