Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
4Activity
0 of .
Results for:
No results containing your search query
P. 1
[tut]load file BITMAP và CROP BITMAP

[tut]load file BITMAP và CROP BITMAP

Ratings: (0)|Views: 311|Likes:
Published by huahongquan2007

More info:

Published by: huahongquan2007 on Apr 06, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/23/2013

pdf

text

original

 
Sơ lược
cách load file BITMAP và CROP BITMAP
[tut by huahongquan2007 – k10itus.com – itspiritclub.net ]
Sau đây m
ình s
ẽ nói sơ lược về cách load file bmp v
à c
ắt ảnh. Đây l
à cách mìnhv
ừa làm được. Cách này chưa có thể nói l
à t
ối ưu nhất nhưng ít nhất l
à “ch
ạy được”.
 
Ở đây m
ình
đang
s
ử dụng file 8 bit / pixel ( 256 m
àu)
LOAD FILE
-
Trước khi k 
hai báo struct BITMAPFILEHEADER , BITMAPINFOHEADER và RGBmình thêm vào các dòng sau :
#pragma pack(push)/* push current alignment to stack */ #pragma pack(1)/* set alignment to 1 byte boundary */
Sau khi khai báo 3 struct mình thêm dòng:
#pragma pack(pop)/* restore original alignment from stack */
-
Để load được phần header của file
mình khai báoBITMAPFILEHEADER fileheader;BITMAPINFOHEADER infoheader;
Sau đó sử dụng hàm FREAD để đọc dữ liệu từ file
fp (input.bmp) fread (&fileheader, sizeof(fileheader),1,fp);fread (&infoheader,sizeof(infoheader),1,fp);- Ti
ếp tới l
à ph
ần dữ liệu Palette, Q d
ùng 1con tr
ỏ pvà dùng hàm malloc để tạo 1
m
ảng
có ph
ần tử kiểu
unsigned charv
ới kích thước l
àfileheader.bfOffBits - 54 -
Sau đó Q đọc phần dữ liệu Pixel Data, ở đây Q d
ùng 1 con tr
ỏ t
ênbitmapvà c
ũng sẽdùng malloc để tạo mảng với kích thước tính như sau:
 + Do ta ph
ải quan tâm tới phần PADDING n
ên c
ần phải tính giá trị cần phải th
êmvàolong padding .Ví d
ụ:
Width c
ủa fp l
à 6 pixel thì padding = 2.N
ếu Width của fp l
à 8 pixel thì padding = 0;+ 
Kích thước của mảng cần tính chính l
àsizeof(char)*kich_thuocV
ới kich_thuoc chính l
à(B
ề rộng của ảnh + Padding) * Chiều cao ảnh
 - Bây gi
ờ th
ì d
ữ liệu của file bitmap đ
ã
được lưu trữ lại để xử lý rồi.
 

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->