![]() |
|
|
|
| ||||||
|
Welcome to the The ProgrammersTalk Community forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
| Tags: |
![]() |
![]() | | LinkBack | Thread Tools | Display Modes | ![]() |
| |
| |||
| Accessing bytes of an image The macro commands GetRow, GetColumn, PutRow and PutColumn can be used for accessing the image on a line by line basis. These macro routines use what is know as the LineBuffer array. This array is of the internally defined type known as LineType. Pascal routines such as GetLine use the LineType. If you plan on accessing 'lines' of the image within your macro, it would might be worth your while to examine the pascal examples in the pascal section. After looking at these, you probably will see how to use the LineBuffer array in a macro. First look at the definition of LineType. LineType is globally declared as: LineType = packed array [0..MaxLine] of UnsignedByte; Naturally, UnsignedByte has been type defined as: UnsignedByte = 0..255; The example below is a macro which uses the linebuffer array. If you are interested in using a macro to get at image data, this example should be fairly clear. Macro 'Invert lines of image'; var i,j,width,height:integer; begin GetPicSize(width,height); for i:=1 to height do begin GetRow(0,i,width); for j:=1 to width do begin LineBuffer[j] := 255-LineBuffer[j]; end; PutRow(0,i,width); end; See the pascal section for examples of reading from disk (non-image data) to User arrays. |
![]() |
| Thread Tools | |
| Display Modes | |
| |