рдкреАрдПрдирдЬреА рдкреИрд▓реЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдФрд░ рд╕рдВрдкреАрдбрд╝рди

рдЕрдореВрд░реНрдд



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдкрд╛рдардХ рдХреЛ PNG рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЫрд╡рд┐ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдВрдкреАрдбрд╝рди рдХреЛ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ K - рдЗрдВрдЯреНрд░рд╛рдЧреНрд░реБрдк рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрд▓реЗрдЯ рдХреА рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рд╕реЛрд░реНрд╕ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЖрдЧреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдкрд░рд┐рдЪрдп



рдкреАрдПрдирдЬреА рдкреНрд░рд╛рд░реВрдк (рдЙрдЪреНрдЪрд╛рд░рдг "рдкрд┐рдВрдЧ") рдмрд┐рдЯрдореИрдк рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдкреНрд░рд╛рд░реВрдк рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХрд╛ рдЪрд░рдгрдмрджреНрдз рдкреНрд░рджрд░реНрд╢рди, рдЧрд╛рдорд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рднрдВрдбрд╛рд░рдг, рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛, рд╕рд╛рде рд╣реА рдкрд╛рда рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╛рд░реВрдк рдПрдХ рдХреБрд╢рд▓ рджреЛрд╖рд░рд╣рд┐рдд рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ [1]ред

рдПрдХ PNG рдлрд╝рд╛рдЗрд▓ (рдпрд╛ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо) рдореЗрдВ рдПрдХ рдкрд╣рдЪрд╛рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рдХрдо рд╕реЗ рдХрдо рддреАрди рдЯреБрдХрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рдкреАрдПрдирдЬреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирдХ рдирд╛рдордХ рдЪрд╛рд░ рдорд╛рдирдХ рднрд╛рдЧреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рднреА рдкрд╛рдардХреЛрдВ рдФрд░ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП [1]

  1. рд╣реЗрдбрд░ (IHDR) рдХреА рд╕реЗрд╡рд╛ред
  2. рднрд╛рдЧ рдкреИрд▓реЗрдЯ (PLTE) - рд╕реНрдЯреЛрд░ рд░рдВрдЧ рддрд╛рд▓рд┐рдХрд╛ рдбреЗрдЯрд╛ рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рднрд╛рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддрднреА рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЫрд╡рд┐ рдбреЗрдЯрд╛ рд░рдВрдЧ рдкреИрд▓реЗрдЯ (рд░рдВрдЧ рдЕрдиреБрдХреНрд░рдордг) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  3. рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рднрд╛рдЬрди (рдЖрдИрдбреАрдПрдЯреА)ред
  4. рдЕрдВрддрд┐рдо рднрд╛рдЧ (IEND)ред


рдкреАрдПрдирдЬреА рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╡рд┐рд╡рд░рдг рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА [2] рдореЗрдВ рджреА рдЧрдИ рд╣реИред рдпрд╣ рдкреНрд░рд╛рд░реВрдк рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкреАрдПрдирдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдЫрд╡рд┐ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдП рдЧрдП рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд░рдВрдЧреЛрдВ рдХреА рдореВрд▓ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдиреБрдХрд╕рд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдирд╡ рдЖрдВрдЦ рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдЬ (02.2011) рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪрддрдо рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд▓рд░ рдХреНрд╡рд╛рдВрдЯрд╛рдЗрдЬрд╝рд░ (CQ) [3] рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:



рдЖрдЧреЗ рдХреЗ рд╢реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдиреАрдЪреЗ рдЪрд┐рддреНрд░ 1 рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд [4] рд╕реЗ рдЫрд╡рд┐ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЪрд┐рддреНрд░ 1 рдореЗрдВ рдПрдХ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╢рддрд░рдВрдЬ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рд╕рд┐рд░реНрдл рдПрдХ рдирдХрд▓ рд╣реИред рдореВрд▓ рдЫрд╡рд┐ рдореЗрдВ 43,500 рдЕрджреНрд╡рд┐рддреАрдп рд░рдВрдЧ рд╣реИрдВред CQ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рддрд╛рд▓рд┐рдХрд╛ 1 рдХреЛ рдЫрд╡рд┐ рдкрд░ рдЫреЛрдбрд╝реЗ рдЧрдП рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рд╕рд╣рд┐рдд рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред CQ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рддреЗ рд╕рдордп, 25% рдХрд╛ рддреНрд░реБрдЯрд┐ рд╕реНрддрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рддрд╛рд▓рд┐рдХрд╛ 1 - CQ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рд╕рдВрдкреАрдбрд╝рди рджрд░

рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдХрд╛рд░, рдбрд┐рд╕реНрдХ рдкрд░ рдмрд╛рдЗрдЯреНрд╕
43,500 (рд╕реНрд░реЛрдд) 184 320
4096 резрек 147 рекрелрем
1024 106 496
256 53,248


рдЬреИрд╕рд╛ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ 1 рдореЗрдВ рдбреЗрдЯрд╛ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 256 рддрдХ рдХрдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 53,248 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдореВрд▓ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рдЧрднрдЧ 3.5 рдЧреБрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред



рдкрд░реАрдХреНрд╖рдг рдЫрд╡рд┐

рдЪрд┐рддреНрд░рд╛ 1 - рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдЯреЗрд╕реНрдЯ рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдк рдкреАрдПрдирдЬреА, рд╕рдВрдХрд▓реНрдк - 800x600



рдХреНрдпреВрдИ, 256 рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рдЫрд╡рд┐

рдЪрд┐рддреНрд░ 2 - рдХрд▓рд░ рдХреНрд╡рд╛рдВрдЯрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 256 рд░рдВрдЧреЛрдВ рддрдХ рдХреА рд╕рдВрдХреБрдЪрд┐рдд рдЫрд╡рд┐



рд╡рд┐рдХрд╕рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо, 256 рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рдЫрд╡рд┐

рдЪрд┐рддреНрд░ 3 - рд╡рд┐рдХрд╕рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЛ 256 рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛



рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд░рдВрдЧ рдХрд╛ рдРрд╕рд╛ рдЧрдВрднреАрд░ рдиреБрдХрд╕рд╛рди рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢рд╛рди рдХреЗ рдмрд┐рдирд╛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд▓реЗрдЦрдХ рдХреА рд░рд╛рдп рдореЗрдВ рдорд╣рддреНрд╡рд╣реАрди рд╣реИред рдЪрд┐рддреНрд░ 2 рдореЗрдВ 256 рд░рдВрдЧреЛрдВ рддрдХ рдХреА рд╕рдВрдХреБрдЪрд┐рдд рдЫрд╡рд┐ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдХреЗрд╡рд▓ рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдХреЗ рдкреАрдПрдирдЬреА рдЫрд╡рд┐рдпреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡реЗрдм рдкрд░ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, CQ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЦрд╛рдореА рд╣реИ - рдСрдкрд░реЗрд╢рди рдХреА рдмреЗрд╣рдж рдзреАрдореА рдЧрддрд┐, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджреЗрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рднреМрдЧреЛрд▓рд┐рдХ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдореВрд▓ - рдЕрд╕рдореНрдкреАрдбрд┐рдд рдЫрд╡рд┐ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИред

рдЕрдЧрд▓рд╛ рдЕрдзреНрдпрд╛рдп рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ рдХрд╛рдлреА рддреЗрдЬрд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЫрд╡рд┐ рдХреЗ рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдпрд╣рд╛рдБ рд╣рдо рдкреИрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)



рдЫрд╡рд┐ рдкреИрд▓реЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдердо



рдЫрд╡рд┐ рдкреИрд▓реЗрдЯ рдЫрд╡рд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд░рдВрдЧреЛрдВ рдХрд╛ рд╕реЗрдЯ рд╣реИред рдпрджрд┐ рдЫрд╡рд┐ рдХреЛ рдЖрд░рдЬреАрдмреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рд╕реЗрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рддреАрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВ - рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛; рдФрд░ рдЕрдЧрд░ ARGB рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИ, рддреЛ рдПрдХ рдФрд░, рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдпрд╛ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ред

рдкреИрд▓реЗрдЯ рдХреЛ рдЖрд░рдЬреАрдмреА рдХреЗ рд▓рд┐рдП рддреАрди-рдЖрдпрд╛рдореА рдпрд╛ рдПрдЖрд░рдЬреАрдмреА рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдЪрд╛рд░-рдЖрдпрд╛рдореА рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪрд┐рдХрдиреА рд╕рдВрдХреНрд░рдордг рдФрд░ рд░рдВрдЧ рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рдЫрд╡рд┐ рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг, рдЕрдВрдХ "рдмрд╛рджрд▓" рдмрдирд╛рдПрдВрдЧреЗ - рддрдерд╛рдХрдерд┐рдд рдХреНрд▓рд╕реНрдЯрд░, рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдмрд┐рдВрджреБ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдХрд░реАрдм рд░рдВрдЧ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдФрд╕рдд (рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рд░рдВрдЧ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗрдЯ рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдкреИрд▓реЗрдЯред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд░рдВрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рдХрдЯрддрд╛ рдХреЗ рдорд╛рдк рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд╡реЗ рд╕рднреА рдПрдХ рд░рдВрдЧ рд╕реНрдерд╛рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ рдЬреЛ рдиреЗрддреНрд░рд╣реАрди рд╕рдорд╛рди рд╣реИ [5]ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд▓реЗрдЦрдХ рд╕рдмрд╕реЗ рд╕рд░рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдПрдХ рднрд╛рд░рд┐рдд рдпреВрдХреНрд▓рд┐рдбрд┐рдпрди рдореАрдЯреНрд░рд┐рдХ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдЖрд░рдЬреАрдмреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ

рдЫрд╡рд┐

рдЬрд╣рд╛рдБ x рдФрд░ y рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рд░рдВрдЧ рд╣реИрдВ {x A , x R , x G , x B }, {y A , y R , y G , y B } рдФрд░ ╬▒, ╬▓, colors, that рдРрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рд╕рдВрднрд╡рддрдГ рджреГрд╢реНрдп рдПрдХрд░реВрдкрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЪреБрдиреЗ рдЧрдП рд╣реИрдВред

рдХрдИ рдбреЗрдЯрд╛ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ [6], рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд╕реЗ рдПрдХ K - рдЗрдВрдЯреНрд░рд╛-рдЧреНрд░реБрдк рд╕рд╛рдзрди рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдИ рд░рдВрдЧ) рдЬреНрдЮрд╛рдд рд╣реИрдВред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рд▓реЗрдЦрдХ рдиреЗ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдорд╛рдирджрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдЪрд░рдг рдореЗрдВ рдЙрдирдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рд╕рдорд╛рди рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред

рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рд▓реЗрдЦ рд╕реЗ рдЬреБрдбрд╝реА рдлрд╛рдЗрд▓ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реЛрддрд╛ рд╣реИред PNG рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PNGEncoder рдореЙрдбреНрдпреВрд▓ [7] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реНрд░реЛрдд рдкрд╛рда рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ



рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг



String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  1. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  2. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  3. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  4. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  5. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  6. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  7. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  8. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  9. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  10. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  11. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  12. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  13. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  14. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  15. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  16. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  17. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









  18. String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .









String imageFileName = "D:/Projects/PNG/big.png" ; String outImageFileName = "D:/Projects/PNG/bigout" ; int ColorCounts = 255; // PNG PngImage image = new PngImage(); BufferedImage bufImage = image.read( new File (imageFileName)); // CPNGCompression.Compression(bufImage, true , ColorCounts); // encoder.setColorType(encoder.COLOR_INDEXED_ALPHA); // encoder.setCompression(encoder.BEST_COMPRESSION); // PNG // ( PLTE) - 255 encoder.setIndexedColorMode(encoder.INDEXED_COLORS_AUTO); // FileOutputStream outfile = new FileOutputStream(outImageFileName + ".png" ); encoder.encode(bufImage, outfile); outfile.flush(); outfile.close(); * This source code was highlighted with Source Code Highlighter .











рд╕рдорд╛рд░реЛрд╣ рд╣рд╕реНрддрд╛рдХреНрд╖рд░

public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









  1. public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









  2. public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









  3. public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









  4. public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









  5. public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









  6. public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .









public static void Compression ( BufferedImage aImage, // boolean aUseFixedColorList, // int aColorCount // ) * This source code was highlighted with Source Code Highlighter .











рд╕рдВрдкреАрдбрд╝рди рдлрд╝рдВрдХреНрд╢рди CPNGCompression рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд╣реИред рдпрджрд┐ aUseFixedColorList рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЫрд╡рд┐ рдореЗрдВ рдХреБрдЫ рд░рдВрдЧ "рдЕрдЫреВрдд" рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ - рдРрд╕реЗ рд░рдВрдЧреЛрдВ рдХреА рд╕реВрдЪреА CPNGCompression рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд┐рд░ рд╕рд░рдгреА рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╣реИред рдЕрдЫреВрдд рд░рдВрдЧреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░реЗ рдХреЗ рдЧрдарди рдХреЗ рд╕рд╛рде рд╕рдлреЗрдж рдФрд░ рдХрд╛рд▓реЗ рд░рдВрдЧ рдХрд╛ рдХреЛрдИ рдорд┐рд╢реНрд░рдг (рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХреЗрдВрджреНрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛) рд╣реЛред

рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рд╡рд░реНрдЧреАрдХрд░рдг рдХреА рджреГрд╢реНрдп рдЧреБрдгрд╡рддреНрддрд╛ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕реВрддреНрд░ (1) рдореЗрдВ рдЧреБрдгрд╛рдВрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╕реАрдорд┐рдд рд╢реНрд░реЗрдгреА рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрдХ рдиреЗ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛: ╬▒ = 100, ╬▓ = 30, ╬│ = 59, ╬╡ = резрез ред

рдЪрд┐рддреНрд░ 3 рд╡рд┐рдХрд╕рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореВрд▓ рдЫрд╡рд┐ рдХреЗ 256 рд░рдВрдЧреЛрдВ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдХреБрд▓ рдЙрджреНрдШрд╛рдЯрди, рд╕рдВрдкреАрдбрд╝рди, рдФрд░ рдЕрд╡рдзрд╛рд░рдг рд╕рдордп 4700 рдПрдордПрд╕ рдереЗред рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 53,248 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде-рд╕рд╛рде CQ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рддрд╛рд▓рд┐рдХрд╛ 1) рдХреЗ рд▓рд┐рдП рднреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд┐рддреНрд░рд╛ 2 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪрд┐рддреНрд░рд╛ 3 рдореЗрдВ рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ - рдиреЗрддреНрд░рд╣реАрди рдпрд╣ рдкреАрд▓реЗ рд╕реЗ рдЧреНрд░реЗ рдХреЗ рдХрд░реАрдм рд╣реЛ рдЧрдпрд╛ рд╣реИ ред рдпрд╣ рджреЛрд╖ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк "рдЕрдЫреВрдд" рд╕рдлреЗрдж рдФрд░ рдЧреНрд░реЗ рд░рдВрдЧреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ - рдЬреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдмрдирд╛рддреЗ рд╣реИрдВред



рдирд┐рд╖реНрдХрд░реНрд╖



рд▓реЗрдЦ рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░рд▓рддрдо рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рддреБрд▓рдирд╛ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╕рдорд╛рдзрд╛рди - рд╕реАрдХреНрдпреВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдФрд░ рд╕реБрдзрд╛рд░ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ





рд▓реЗрдЦ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░



рдореБрдЦреНрдп рд▓реЗрдЦ "рдЕрдЫреВрдд рд░рдВрдЧреЛрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХреБрдЪрд┐рдд рдЫрд╡рд┐ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдЫреВрдд рд░рдВрдЧреЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:

// CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









  1. // CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









  2. // CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









  3. // CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









  4. // CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









  5. // CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









  6. // CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









// CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .









// CPNGCompression.m_fixedColors = new int [2]; CPNGCompression.m_fixedColors[0] = 0xFF969696; CPNGCompression.m_fixedColors[1] = 0xFFFFFFFF; // CPNGCompression.Compression(bufImage, true , 256); * This source code was highlighted with Source Code Highlighter .











рдлрд┐рд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣рд╛рдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЫрд╡рд┐ рд╣реЛрдЧреА:

рдЫрд╡рд┐

рдЪрд┐рддреНрд░ 4 - рджреЛ рдЕрдЫреВрдд рд░рдВрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рдЫрд╡рд┐



рдбрд┐рд╕реНрдХ рдкрд░ рдЗрд╕ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рднреА 53,243 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред



рд╡рд╛рдВрдЫрд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕реАрдХреНрдпреВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп рдХреА рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред

рд╕рд┐рд╕реНрдЯрдо рдШрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, + -2 рд╕реЗрдХрдВрдб рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде, рд╕реАрдХреНрдпреВ 34 рд╕реЗрдХрдВрдб рдореЗрдВ 256 рд░рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрджрддрд░ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИред



рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛



  1. рдбреАред рдорд░реЗ, рдбрдмреНрд▓реНрдпреВред рд╡реИрди рд░рд┐рдкрд░ред рдЧреНрд░рд╛рдлрд┐рдХ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдкреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд╡рдХреЛрд╢ред
  2. рдЧреНрд░реЗрдЧ рд░реВрд▓реЛрдлрд╝реНрд╕, рдЗрд╡рд╛рди рдЬрд╝реЗрдирдХреЛрд╡, рдбрд┐рдореЛрдХ рдмреБрд╢реЗрдлрд╝ред рдкреАрдПрдирдЬреА: рдкреНрд░рд╛рд░реВрдк / рд▓рд┐рдВрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкрд░рд┐рдЪрдп
  3. рдХрд▓рд░ рдХреНрд╡рд╛рдВрдЯрд╛рдЗрдЬрд╝рд░: рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреЛ рдЖрдкрдХреЛ рд╡реЗрдм / рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  4. рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА, рдкрд░реАрдХреНрд╖рдг рдЫрд╡рд┐, GNU рдирд┐: рд╢реБрд▓реНрдХ рдкреНрд░рд▓реЗрдЦрди рд▓рд╛рдЗрд╕реЗрдВрд╕ / рд▓рд┐рдВрдХ
  5. рдР рдХреБрд▓рд┐рдХреЛрд╡, рдЯреА.рдИ. Ovchinnikovред CIE Luv Space, Algorithmic Fundamentals of Modern Computer Graphics / Link
  6. рдбреЗрдЯрд╛ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо / рд▓рд┐рдВрдХ рдХрд╛ рдЕрд╡рд▓реЛрдХрди
  7. PNGncoder рдкреИрдХреЗрдЬ PNG рдЫрд╡рд┐рдпреЛрдВ, рдЬрд╛рд╡рд╛ / рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП



All Articles