2013-09-02 4 views
3

나는 imagecreatetruecolor 함수에 대해 PHP documentation을 읽고 있는데 성공하면 이미지 리소스 식별자를 반환합니다. "이미지 리소스 식별자"는 무엇을 의미합니까? 이 용어에 대한 PHP 문서를 검색했지만 설명서의 처음 두 페이지에서 찾지 못했습니다.이미지 리소스 식별자 란 무엇입니까?

+0

사용자가 만든 이미지 리소스를 참조하십시오. 이후에 호출하는 모든 GD 함수는 작업 할 이미지를 알기 위해 이미지 식별자를 필요로합니다. –

+0

php와 관련하여 특정 이미지를 식별하는 데 사용할 수있는 변수입니다. 대충 비슷한 것은 윈도우즈 랜드의 HBITMAP 일 것입니다. – enhzflep

+0

다른 이미지 쿼리 및 조작 방법과 함께 사용할 이미지를 나타내는 개체 일 수 있습니다. – mvw

답변

6

기본적으로 gdlib과 함께 사용하는 특수 유형의 개체입니다. 다른 기능은이 리소스를 imagecolorallocate과 같은 매개 변수로 필요로합니다.

나중에 다른 기능으로 수정하기 위해 만들고있는 이미지에 대한 정보를 저장합니다.

php.net here

1

이미지 리소스 식별자로부터 리소스에 대한 정보를 조금 이미지에 대한 정보를 저장하도록 정의 ( C 환산) 구조이다. 다음은 PHP 소스 코드에 정의 된 내용입니다.

typedef struct gdImageStruct { 
    /* Palette-based image pixels */ 
    unsigned char ** pixels; 
    int sx; 
    int sy; 
    /* These are valid in palette images only. See also 
     'alpha', which appears later in the structure to 
     preserve binary backwards compatibility */ 
    int colorsTotal; 
    int red[gdMaxColors]; 
    int green[gdMaxColors]; 
    int blue[gdMaxColors]; 
    int open[gdMaxColors]; 
    /* For backwards compatibility, this is set to the 
     first palette entry with 100% transparency, 
     and is also set and reset by the 
     gdImageColorTransparent function. Newer 
     applications can allocate palette entries 
     with any desired level of transparency; however, 
     bear in mind that many viewers, notably 
     many web browsers, fail to implement 
     full alpha channel for PNG and provide 
     support for full opacity or transparency only. */ 
    int transparent; 
    int *polyInts; 
    int polyAllocated; 
    struct gdImageStruct *brush; 
    struct gdImageStruct *tile; 
    int brushColorMap[gdMaxColors]; 
    int tileColorMap[gdMaxColors]; 
    int styleLength; 
    int stylePos; 
    int *style; 
    int interlace; 
    /* New in 2.0: thickness of line. Initialized to 1. */ 
    int thick; 
    /* New in 2.0: alpha channel for palettes. Note that only 
     Macintosh Internet Explorer and (possibly) Netscape 6 
     really support multiple levels of transparency in 
     palettes, to my knowledge, as of 2/15/01. Most 
     common browsers will display 100% opaque and 
     100% transparent correctly, and do something 
     unpredictable and/or undesirable for levels 
     in between. TBB */ 
    int alpha[gdMaxColors]; 
    /* Truecolor flag and pixels. New 2.0 fields appear here at the 
     end to minimize breakage of existing object code. */ 
    int trueColor; 
    int ** tpixels; 
    /* Should alpha channel be copied, or applied, each time a 
     pixel is drawn? This applies to truecolor images only. 
     No attempt is made to alpha-blend in palette images, 
     even if semitransparent palette entries exist. 
     To do that, build your image as a truecolor image, 
     then quantize down to 8 bits. */ 
    int alphaBlendingFlag; 
    /* Should antialias functions be used */ 
    int antialias; 
    /* Should the alpha channel of the image be saved? This affects 
     PNG at the moment; other future formats may also 
     have that capability. JPEG doesn't. */ 
    int saveAlphaFlag; 


    /* 2.0.12: anti-aliased globals */ 
    int AA; 
    int AA_color; 
    int AA_dont_blend; 
    unsigned char **AA_opacity; 
    int AA_polygon; 
    /* Stored and pre-computed variables for determining the perpendicular 
    * distance from a point to the anti-aliased line being drawn: 
    */ 
    int AAL_x1; 
    int AAL_y1; 
    int AAL_x2; 
    int AAL_y2; 
    int AAL_Bx_Ax; 
    int AAL_By_Ay; 
    int AAL_LAB_2; 
    float AAL_LAB; 

    /* 2.0.12: simple clipping rectangle. These values must be checked for safety when set; please use gdImageSetClip */ 
    int cx1; 
    int cy1; 
    int cx2; 
    int cy2; 
    gdInterpolationMethod interpolation_id; 
    interpolation_method interpolation; 
} gdImage; 
관련 문제