Chào các bạn.
Mình đang làm một project xử lý ảnh, code 1 đoạn như thế này:
Code:
public FloatImage(Bitmap bitmap)
{
_rows = bitmap.Height;
_cols = bitmap.Width;
_data = new float[_rows * _cols];
Rectangle rect = new Rectangle(0, 0, _cols, _rows);
BitmapData data = bitmap.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format8bppIndexed);
unsafe
{
int offset = data.Stride - _cols;
byte* pixel = (byte*)data.Scan0.ToPointer();
for(int y = 0; y < _rows; y++)
{
for(int x = 0; x < _cols; x++)
{
_data[y * _cols + x] = ((float)(*pixel));
pixel++;
}
pixel += offset;
}
}
bitmap.UnlockBits(data);
}
Đoạn code này được build thành một thư viện dll. Khi mình tạo 1 project và add dll này vào, và gọi hàm này, debug thử thì chương trình chạy bình thường, nhưng đến khi bắt đầu gọi hàm trên, thì nó báo lỗi ở dòng in đậm là "Parameter is not valid".
Trong khi với cùng đoạn code đó trong chương trình mình tham khảo thì nó chạy bình thường
Có thể vấn đề này mình hỏi hơi vớ vẩn nhưng sự thực là vẫn chưa biết lí do và giải quyết thế nào cả
, ai rành về nó chỉ cho mình với.