1
我想在一個給定的係數調整位圖圖像C編寫一個程序,當我使用fwrite()
一個循環中這樣做:fwrite如何工作?
// Go through each pixel of input bitmap
for (int y = 0; y < inWidth; y++)
{
fread(pixel, sizeof(RGBTRIPLE), 1, inBMP);
// Write each pixel to output bitmap (factor) times
for (int z = 0; z < factor; z++)
{
fwrite(pixel, sizeof(RGBTRIPLE), 1, outBMP);
}
}
一切工作:
但是當我使用fwrite()
沒有環:
// Go through each pixel of input bitmap
for (int y = 0; y < inWidth; y++)
{
fread(pixel, sizeof(RGBTRIPLE), 1, inBMP);
// Write each pixel to output bitmap (factor) times
fwrite(pixel, sizeof(RGBTRIPLE), factor, outBMP);
}
我得到這個:
爲什麼會發生呢?
因爲在頭部你有相同的圖像大小,但身體有更多的信息 –
在你的第二種情況下,你只讀1'RGBTRIPLE',但你正在寫'因素''RGBTRIPLE's – MFisherKDX
是這[有用](https://stackoverflow.com/questions/11569217/how-to-resize-a-bitmap)。 –