ܼ

  1. TEO Module
  2. 
  3. File class
   
      3.1. ֥Ȥ
      3.2. ֥ȤβȥեΥ
      3.3. libteo δؿȰаб᥽å
      3.4. method ̾
      3.5. ɲä method
      3.6. ƥ졼֥åդ method
      3.7. Enumerable  incldue  method
  4. Image class
   
      4.1. ֥Ȥ
      4.2. ֥Ȥβ
      4.3. libteo δؿȰаб᥽å
      4.4. ɲä method
      4.5. ƥ졼֥åդ method
      4.6. ¾ method
  5. libteo ߴ API

1. TEO Module

ruby-teo Υ饹ؿŪ᥽åɤʤɤϤ٤ TEO Module ˴ޤޤƤޤ
 include TEO Ȥ뤫 TEO::hogehoge  Module ̾ꤷƻȤäƤ

2. 

TEO_UNSIGNED, TEO_SIGNED, TEO_FLOAT бȤƤ줾 TEO::UNSIGNED,
TEO::SIGNED, TEO::FLOAT ѰդƤޤ

3. File class

libteo  TEO_FILE ¤Τб륯饹Ǥ

3.1. ֥Ȥ

#open(filename)
   
    teoե򥪡ץ󤹤롥
   
TeoOpenFile()бƤޤ

#create(filename,File)
#create(filename,Image)
   
    teoե򿷵˺롥
   
TeoCreateSimilarFile()бƤޤ

#create(filename,width=0,height=0,xoffset=0,yoffset=0,type=UNSIGNED,bit=8,plane
    =1,frame=1)

TeoCreateFile()бƤޤ

#new(...)

η˱ #open, #create ƤӽФޤ

3.2. ֥ȤβȥեΥ

File class Υ֥Ȥ GC ˤäƲȤTeoCloseFile() Ƥӽ
ޤΤᥪ֥ȤФŪ˽λԤɬפϤޤ

File class Ǻե̤Υ֥ȤǸƤ߹ߤʤŪ˽
λԤ #close method ƤӽФƤ

ޤ#closed? method ˤ꽪λԤäƤ뤫ɤǧ뤳ȤǤ


3.3. libteo δؿȰаб᥽å

libteo δؿΤ TEOFILE * Ǥؿб method 
Ƥޤ method̾бؿ̾Ƭ Teo ꡤñζڤʸ
ʸˤѤ˥Ƕڤޤޤؿ(TEOFILE*)
method Υ쥷ФˤʤΤǻꤷޤ

Τ褦method ˤϰʲΤ褦ʤΤޤ

#read_frame

TeoReadFrame Ȥϰ㤤 Image ֥Ȥ֤ޤ

#write_frame(Image)
#width
#height
#xoffset
#yoffset
#xstart
#xend
#ystart
#yend
#pixel_type
#pixel_bit
#plane
#frame
#fsize
#current
#set_abs_frame(frame)
#set_rel_frame(frame)
#check_frame(frame)

3.4. method ̾

Ĥmethod ˤ ruby 餷뤿̾Ƥޤ

#current=(frame)

#set_abs_frame ̾

#add_current(frame)

#set_rel_frame ̾

3.5. ɲä method

#xrange
#yrange
#prange

줾 xɸyɸ, plane λǤϰϤ Range ֥
Ȥ֤ޤ

#[f]
   
    ߤΥե졼򥻥åȤƤ #read_frame ɤ߹ߤޤ
   
#[f] = image
   
    ߤΥե졼򥻥åȤƤ #write_frame ǽ񤭹ߤޤ
   
3.6. ƥ졼֥åդ method

#each {|image|...}

ߤΥե졼फǽե졼ޤǤβ image ˥åȤ
֥åƤӽФޤ

#each_to(last) {|image|...}

ߤΥե졼फlastե졼ޤǤβ image ˥åȤ
֥åƤӽФޤ

#step(first,last,step) {|image|...}

firstե졼फlastե졼ޤstepե졼˲ image 
˥åȤ֥åƤӽФޤ

3.7. Enumerable  incldue  method

File class  Enumerable Module  include ƤΤǡEnumerable 
Ƥ method ȤȤǤޤǰ̣Τ method Ҳ𤷤ޤ

#collect {|image|...}

ƥե졼Фƥ֥åɾ̤֤ޤ

#each_with_index {|image,index|...}

ȥե졼ֹ򥤥ƥ졼ѿȤƥ֥åƤӽФޤ

#find {|image|...}

ƥե졼Фƥ֥åɾͤˤʤäǽβ֤
ޤ

#find_all {|image|...}

ƥե졼Фƥ֥åɾͤǤäƤޤ
֤ޤ

#reverse

ƤΥե졼ս¤٤֤ޤ

#to_a

ƤΥե졼ޤ֤ޤ

4. Image class

libteo  TEOIMAGE ¤Τ򰷤Υ饹Ǥ class ϲۥ饹Ȥʤ
Ƥ Image class Υ֥Ȥ뤳ȤϤޤ󡥼ºݤˤ Image
class γƥԥ뷿Ѥò subclass Υ֥Ȥޤ

ƥԥѤ subclass ˤϰʲΤ褦ʤΤޤ

Image.BIT Image.UINT8 Image.SINT8 Image.UINT16 Image.SINT16 Image.UINT32
Image.SINT32 Image.FLOAT32 Image.FLOAT64

 subclass Υ󥿥եϤ٤ƶ̤Ǥ subclass ռ뤳
ȤϤޤ

4.1. ֥Ȥ

#alloc(Image)
#alloc(File)
   
    TeoAllocSimilarImage() ƤӽФꤷ Image, File ƱΥ
    ȤޤηˤäŬڤʥ֥饹Υ֥
    Ȥޤ
   
#alloc(width,height,xoffset,yoffset,bit,type,plane)
   
    TeoAllocImage()ƤӽФꤷΥ֥Ȥޤ
    ηˤäŬڤʥ֥饹Υ֥Ȥޤ
   
Image::<TYPE>.alloc(width,height,xoffset,yoffset,plane)
   
    줾 subclass Υ֥Ȥޤ
   
#new
   
    #alloc ̾Ǥ
   
4.2. ֥Ȥβ

Ȥʤʤä Image ֥Ȥ GC ˤäƲޤŪ˲ɬ
פϤޤ

4.3. libteo δؿȰаб᥽å

libteo δؿΤ TEOIMAGE * Ǥؿб method 
Ƥޤ method̾бؿ̾Ƭ Teo ꡤñζڤʸ
ʸˤѤ˥Ƕڤޤޤؿ(TEOFILE*)
method Υ쥷ФˤʤΤǻꤷޤ

Τ褦method ˤϰʲΤ褦ʤΤޤ

#width
#height
#xoffset
#yoffset
#xstart
#xend
#ystart
#yend
#pixel_type
#pixel_bit
#plane
#fsize
#get_pixel(x,y,p)
#put_pixel(x,y,p,val)

֥ȤηǲǤηȽǤ뤳ȤǤΤǡ Teo{Get,Put}Pixel Ȥϰ
ꡤǤηꤹɬפϤޤ󡥤ޤͲФƤ #{get,put}
_pixel ǥ뤳ȤǤޤ

4.4. ɲä method

 ruby ŪΤ˴Ĥmethod Ƥޤ

#xrange
#yrange
#prange
   
    줾 xɸyɸ, plane λǤϰϤ Range ֥Ȥ֤
    
   
#[x,y]
#[x,y,p]
   
    Ūˤ #get_pixel ƱǤʲ2ۤޤ
   
      ϰϥåԤϰϳʤ IndexError㳰ꤲޤ
      p άȻꤷǤƤΥץ졼ͤArray֥ȤȤ
        ֤
#[x, y] = val
#[x,y,p,val] =
   
    Ūˤ #put_pixel ƱǤʲ2ۤޤ
   
      ϰϥåԤϰϳʤ IndexError㳰ꤲޤ
      p άϡͤȤƤΥץ졼ͤArray֥Ȥ
        Ϥޤ顼ͤϤƱͤ Array Ϥ줿ΤȤ
        ޤ
#to_<TYPE>
#change_type(<TYPE>)
   
    ǤηѴ֤ޤ
   
4.5. ƥ졼֥åդ method

#each_pixel {|pixel|...}
#each_pixel!(srcimage) {|pixel,srcpixel|...}
#each_value {|pixel|...}
#each_value!(srcimage) {|pixel,srcpixel|...}
   
    饹󤷳ƲǤ pixel ˥åȤ֥åƤӽФޤ
    ! դۤ srcimage γƲǤ srcpixel ˥åȤƥ֥å
    ӽФ֥åͤ쥷ФβǤޤ srcimage ά
    ϥ쥷Ф srcimage ˤʤޤ
   
    _pixel ϳƥԥ롤_value ϳƥԥγƥץ졼ФƽԤޤ
    
   
#each_pixel_with_index {|pixel,x,y|...}
#each_pixel_with_index! {|pixel,x,y|...}
#each_value_with_index {|pixel,x,y,p|...}
#each_value_with_index! {|pixel,x,y,p|...}
   
    method ϥǥåȤʤämethod ƤӽФޤ
   
4.6. ¾ method

#copy(src_x,src_y,width,height,dst_x,dst_y)
   
    쥷Фβ (src_x, src_y)  width x height ΰ򥳥ԡ
    ֤ޤΤȤκΥեåȤ dst_x,dst_y ˤޤ٤
    ΰϾάǤޤ src_x, src_y άȥ쥷Фκ(startx,
    starty)饳ԡޤ width, height άȥ쥷Фκޤǥ
    ޤ dst_x, dst_y ά src_x src_y Ʊˤʤޤ٤Ƥ
    άȥ쥷Τ򥳥ԡޤ
   
#copy!(srcimage, src_x,src_y,width,height,dst_x,dst_y)
   
    srcimage  (src_x, src_y)  width x height ΰ쥷Ф
    (dst_x,dst_y) ΰ֤˾񤭤ޤδؿϥ쥷ФΥ䷿ʤɤ
    ޤ󡥻ΰΤߤ񤭤¾ΰϤΤޤޤˤʤޤ
    srcimage ʳΰϾάǤޤ src_x, src_y ά srcimage κ
    (startx, starty)饳ԡޤ width, height άsrcimage 
    ޤǥԡޤ dst_x, dst_y ά src_x src_y Ʊˤʤ
    ٤Ƥΰά srcimage Τ򥳥ԡޤ
   
#add(opimage)
#+(opimage)
   
    쥷Ф opimage γƲǤ­֤ޤ +  add ̾Ǥ
   
#sub(opimage)
#-(opimage)
   
    쥷Ф opimage γƲǤ֤ޤ -  add ̾Ǥ
   
#abssub(opimage)
   
    쥷Ф opimage γƲǤкȤä֤ޤ
   
#add!(opimage)
#sub!(opimage)
#abssub!(opimage)
   
    줾 #add, #sub, #abssub η̤쥷Ф˲Ūޤ
   
 #add, #sub, #abssub, #add!, #sub!, #abssub! ϥ쥷ФβǤη
ޤ󡥱黻̤ޤʤϲ뤫ͽۤǤޤ

5. libteo ߴ API

TEO Module ˤϡlibteo ߴ API ȤơReference Manual of TEO library(labdoc
libteo)3Ϥΰ̸ؿΤ TeoGetUserExtension(), TeoFreeImage(), TeoFp
(), TeoExtc(), TeoExtv(), TeoData(), TeoGetBit(), TeoPutBit() ؿѰ
Ƥޤ

libteo ߴ API δؿ̾ϡlibteo δؿ Teo Τ TEO:: դ̾
ʤޤ㤨С libteo  TeoOpenFile  TEO::OpenFile ˤʤޤ

libteo ߴ API ϡTEO::GetPixel(), TEO::PutPixel() ʳϰ֤ͤȤƱ
̣ˤʤޤ TEO::GetPixel(), TEO::PutPixel() ϡǤηưȽǤ
Τǻꤹɬפޤ󡥤ޤTeoGetBit(), TeoPutBit()  TEO::GetPixel
(), TEO::PutPixel() ȤƻȤȤǤޤ

  

libteo

TEO_UINT8 value;
TEOIMAGE *image;
int x,y,p;
...
value = TeoGetPixel(x,y,p,TEO_UINT8);

ruby-teo

image = TEO::AllocImage(10,10,0,0,TEO::UNSIGNED, 8, 1)
value = TEO::GetPixel(1,1,1)
