我有這樣的代碼:有沒有辦法以較低的分辨率保存位圖,然後Jpeg?要更改分辨率手冊?
int ISampleGrabberCB.BufferCB(double sampleTime, IntPtr pBuffer, int bufferLen)
{
if (Form1.ExtractAutomatic == true)
{
using (var bitmap = new Bitmap(_width, _height, _width * 3, PixelFormat.Format24bppRgb, pBuffer))
{
if (!this.Secondpass)
{
long[] HistogramValues = Form1.GetHistogram(bitmap);
Form1.Histograms.Add(HistogramValues);
long t = Form1.GetTopLumAmount(HistogramValues, 1000);
Form1.averagesTest.Add(t);
}
else
{
if (_frameId > 0)
{
double t = Form1.averagesTest[_frameId]/1000.0 - Form1.averagesTest[_frameId - 1]/1000.0;
w.WriteLine("averagesTest >>> " + t);
if (_frameId == 1049)
{
w.Close();
}
if (Form1.averagesTest[_frameId]/1000.0 - Form1.averagesTest[_frameId - 1]/1000.0 > 60.0) {
count = 6;
}
if (count > 0)
{
bitmap.RotateFlip(RotateFlipType.Rotate180FlipX);
bitmap.Save(Path.Combine(_outFolder, _frameId.ToString("D6") + ".jpg"),ImageFormat.Jpeg);
count --;
}
是我救的位圖作爲位圖.BMP現在我改成爲JPEG .JPG之前,但反正是有改變JPG被保存在一個較低的分辨率?也許手動改變?
bitmap.Save(Path.Combine(_outFolder, _frameId.ToString("D6") + ".jpg"),ImageFormat.Jpeg);
將其保存爲jpeg可能將其保存爲jpeg,但分辨率要低得多。 原因是我想要顯示每個位圖直方圖,並同時顯示圖片/框架它自己在pictureBox中,但我如果我將能夠以較低的分辨率保存它的保存過程將更快。
由於我想檢查直方圖,我不介意在這種情況下圖像/幀將以低分辨率顯示。