Q
限制圖片大小
2
A
回答
4
private bool ValidFile(string filename, long limitInBytes, int limitWidth, int limitHeight)
{
var fileSizeInBytes = new FileInfo(filename).Length;
if(fileSizeInBytes > limitInBytes) return false;
using(var img = new Bitmap(filename))
{
if(img.Width > limitWidth || img.Height > limitHeight) return false;
}
return true;
}
private void selectImgButton_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if(ValidFile(openFileDialog1.FileName, 102400, 350, 350))
{
// Image is valid and U can
// Do something with image
// For example set it to a picture box
pictureBox1.Image = new Bitmap(openFileDialog1.FileName);
}
else
{
MessageBox.Show("Image is invalid");
}
}
}
4
這取決於您需要支持的圖像類型。對於最常見的類型(BMP,JPG,PNG),你可以輕鬆地檢索圖片信息:
string filename = // get it from OpenFileDialog
if (new FileInfo(filename).Length > SOME_LIMIT)
{
MessageBox.Show("!!!");
}
else
{
Image img = Image.FromFile(filename);
MessageBox.Show(string.Format("{0} x {1}", img.Width, img.Height));
}
如果您需要多種圖像格式,更廣泛的支持,那麼我建議使用一個圖書館一樣ImageMagick.NET
0
放此作爲全局變量
INT imgSize = 0
private void button1_Click(object sender, EventArgs e)
{
Image imageFile;
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "Open Image";
dlg.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*";
if (dlg.ShowDialog() == DialogResult.OK)
{
imageFile = Image.FromFile(dlg.FileName);
imgHeight = imageFile.Height;
if (imgHeight > 350)
{
MessageBox.Show("Not 350x350 Image", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
imgPhoto.Image = null;
}
else
{
PictureBox1.Image = new Bitmap(dlg.OpenFile());
}
}
dlg.Dispose();
}
希望這會有所幫助。
+0
@勺子Yukina,如果我明白你的問題,你想修改圖像爲350x350從原來的大小? – spajce
0
試試這個:
OpenFileDialog fileDialog = new OpenFileDialog
{
// managed GDI+ supports bmp, jpeg, gif, png and tiff.
Filter =
"Image files (*.bmp;*.jpg;*.gif;*.png;*.tiff)|*.bmp;*.jpg;*.gif;*.png;*.tiff|All files (*.*)|*.*",
};
if (fileDialog.ShowDialog() == DialogResult.OK)
{
// Many exceptions could be raised in the following code
try
{
var fileSize = new FileInfo(fileDialog.FileName);
var validFilesize = fileSize.Length <= 1024 * 100; // 100 kilo bytes
var validDimensions = false;
// free the file once we get the dimensions
using (Image image = Image.FromFile(fileDialog.FileName))
{
validDimensions = (image.Width <= 350) && (image.Height <= 350);
}
if (!validDimensions || !validFilesize)
{
MessageBox.Show("Error ! Choose another image");
}
else
{
// do something with the file here
}
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
相關問題
- 1. iPad上的圖片大小限制?
- 2. iPhone:Image查看圖片大小限制
- 3. NopCommerce:圖像大小限制
- 4. Android圖片文件大小限制以及如何處理大圖片?
- 5. 如何限制圖片的大小從IMAGE_CAPTURE意圖
- 6. LDAP限制大小限制
- 7. 根據HTML5畫布調整大小限制圖片大小(<1MB)
- 8. 如何限制WordPress響應圖片中的圖片下載大小?
- 9. 視頻和照片的圖形API上傳大小限制
- 10. 如何限制Lightbox中的圖片大小2
- 11. 在wordpress中上傳圖片的大小限制
- 12. C#將圖片大小限制在150kb以下
- 13. php圖片上傳文件大小限制?
- 14. 如何限制獲取圖片的大小
- 15. 什麼是Fb.ui的圖片大小限制?
- 16. 在sitecore中限制圖片上傳大小
- 17. 在jQuery中上傳時限制圖片大小
- 18. 如何限制圖片上傳大小php
- 19. fprintf大小限制
- 20. 限制UITableView大小
- 21. innerHTML大小限制
- 22. hclust大小限制?
- 23. XTS大小限制
- 24. 限制流大小
- 25. 限制JSpinner大小
- 26. 限制iframe大小
- 27. UIWebview大小限制
- 28. Imshow()大小限制
- 29. XMLHTTPRequest大小限制
- 30. Safari的最大高度限制圖片
你嘗試過什麼?你遇到什麼特定的代碼? –
我對代碼沒有任何問題,我只是不知道如何添加允許我限制圖像大小和尺寸的功能。 –