рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдирд┐рдореЗрдЯреЗрдб рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдЧрд╣рд░рд╛ рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реА рдХрд╣рд╛рдиреА рд╣реЛрдЧреАред
рдпрд╣ рд▓рдЧрднрдЧ рджреЛ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдерд╛, рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реЛрдЪрд╛ рдХрд┐ рдЕрдм рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдорд╛рдВрдЧ рдореЗрдВ рд╣реЛ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдФрд░ рдореВрд▓ рдерд╛ред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмрд╛рдЬрд╛рд░ рдХрд┐рддрдирд╛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ, рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ, рд╕реИрдХрдбрд╝реЛрдВ рдПрдирд┐рдореЗрдЯреЗрдб рд╡реЙрд▓рдкреЗрдкрд░, рдХреИрдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо, рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ, рдЧреЗрдо рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ (рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдмреЗрддрд╣рд╛рд╢рд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ!)ред рдмреЗрд╢рдХ, рд╕рднреА рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪреАрдиреА рд╢рд╣рд░ рд╣реИ, рдЬреЛ рдирдП рдмрд╛рдЬрд╛рд░ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде рдХрдо рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рдЪрд╛рд░ рдЕрдЪрд╛рдирдХ рдЖрдпрд╛ рдФрд░ рдореБрдЭреЗ рдЙрд╕рдХреА рд╕рд╛рдЗрдЯ
livetyping.ru рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ред "рдФрд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ," рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдФрд░ рд╕реЛрдЪрдиреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИред рдЬреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИ, рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рда рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡рд╣ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕рд╣рд┐рдд рд▓реЗрдЦрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ GIF рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдордЬрд╝реЗрджрд╛рд░ рдирд┐рдХрд▓рд╛, рдЖрдк рдПрдХ рдЕрд░реНрде рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдорд┐рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдЯреАрдХ рд╡рд┐рдкрд░реАрдд рдХреЗ рд╕рд╛рде рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдХрд▓реНрдкрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдХреЛрдИ рдХрд╣реЗрдЧрд╛ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ ... рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрди рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдирд┐рдореЗрдЯреЗрдб рдЬрд┐рдл рдХреИрд╕реЗ рджреЗрдЦреЗрдВред рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рд╣реА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХрдИ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдорд░реНрдерди рдХреА рдХрдореА рд╣реИред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдлрд░реНрдорд╡реЗрдпрд░ 2.3.3 рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдлреЛрди рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЗрд╕ рдЖрд╢рд╛ рдХреЗ рд╕рд╛рде рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рд╢рд╛рдпрдж рдереЛрдбрд╝рд╛ рдЖрд╢рд╛рд╡рд╛рджреА, рд▓реЗрдХрд┐рди
рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВред рдПрдВрдбреНрд░реЙрдЗрдб рдХреЛ рдЬреАрдЖрдИрдПрдл рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд╣реАрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛)ред
рдбрд┐рдЬрд╝рд╛рдЗрди
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛрд░
рдкрд╣рд▓реА рдХрдард┐рдирд╛рдИ рдпрд╣ рдереА рдХрд┐ рдЙрддреНрдкрдиреНрди рдкрд╛рда рдХреЛ рдореВрд▓ рдХреЗ рд╕рдорд╛рди рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рджреЛ рд╡рд┐рдХрд▓реНрдк рдереЗ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдлрд╝реАрд▓реНрдб рдЖрдХрд╛рд░, рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдФрд░ рд░рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕рднреА рдкрд╛рда рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрд╡рд░ рдмрдирд╛рдПрдВ, рдПрдХ рдЬрд┐рдлрд╝ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдФрд░ рд▓рд┐рдВрдХ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрд╡рдпрдВ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред
- рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред
рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рддреБрд░рдВрдд рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╡реЗрдм рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рд▓рд╛рдЧрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЬреАрдЖрдИрдПрдл рдПрдиреАрдореЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕рднреА рдлрд╝реНрд░реЗрдореЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдвреЗрд░ рдореЗрдВ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕реЛрдЪрдХрд░ рдХрд┐ рдпрд╣ рдСрдкрд░реЗрд╢рди рдЬрд╛рд╡рд╛ рдХреЗ рдмрдЬрд╛рдп рд╕реА рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ рдЙрдбрд╝рд╛рдИ рдФрд░ рдореБрдЭреЗ рдЙрд╕
рд╡рд░реНрдЧ рдХрд╛ рд╕реНрд░реЛрдд рдорд┐рд▓рд╛ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдПрдирдбреАрдХреЗ рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕ рд╡рд░реНрдЧ рдиреЗ рдмрд┐рдЯрдореИрдк рд╢реНрд░реЗрдгреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлреНрд░реЗрдо рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬреЛ рдЕрдВрдд рдореЗрдВ рдПрдХ рдПрдирд┐рдореЗрдЯреЗрдб рдЬреАрдЖрдИрдПрдл рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рд▓рд┐рдВрдХ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ:
static { System.loadLibrary("gifflen"); } .... public native int Init(String gifName, int w, int h, int numColors, int quality, int frameDelay); public native void Close(); public native int AddFrame(int[] inArray); ....
рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдп рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ рдмрд┐рдЯрдореИрдк рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдкрд╛рда рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред Android API рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдкрд░, StaticLayout рд╡рд░реНрдЧ рдорд┐рд▓рд╛, рдЬреЛ рдЖрдкрдХреЛ рдХреИрдирд╡рд╕ рдореЗрдВ рдкреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкрд╛рда рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдмрд┐рдЯрдореИрдк рдореЗрдВ рд╣реИред рдпрд╣ рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
Canvas canvas = new Canvas(); TextPaint paint = new TextPaint(Paint.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); Bitmap bitmap; paint.setStyle(Paint.Style.FILL); paint.setColor(fontColor); paint.setTextSize((int) (fontSizeDP * mDensityScale + 0.5f)); paint.setAntiAlias(true); paint.setTypeface(font); paint.setTextAlign(Align.LEFT); StaticLayout[] layoutTexts = new StaticLayout[mLiveTypeStringArray.size()]; for(int i = 0; i < layoutTexts.length; i++) { layoutTexts[i] = new StaticLayout(mLiveTypeStringArray.get(i), paint, (int) (gifWidthDP * mDensityScale + 0.5f), Alignment.ALIGN_NORMAL, 1, 1, true); if(gifHeight < layoutTexts[i].getHeight()) gifHeight = layoutTexts[i].getHeight(); } if(gifHeight == 0) return 0; bitmap = Bitmap.createBitmap((int) (gifWidthDP * mDensityScale + 0.5f), gifHeight, Bitmap.Config.RGB_565); canvas.setBitmap(bitmap); for(int i = 0; i < layoutTexts.length; i++) { canvas.drawColor(backColor); layoutTexts[i].draw(canvas); gifEncoder.addFrame(bitmap); }
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдкрд╛рда, рдпрд╛ рдЗрд╕рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдмрд┐рдЯрдореИрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЬрд┐рдлрд╝ рдлрд╝рд╛рдЗрд▓ рдПрдХрддреНрд░ рдХреА рдЧрдИ рдереАред
рдлрд┐рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреАред рдЬреАрдЖрдИрдПрдл рдлрд╛рдЗрд▓реЗрдВ рдмрд╣реБрдд рдмрдбрд╝реА рдереАрдВ! рдФрд╕рддрди, 200 рдлреНрд░реЗрдо рддрдХ рдХреЗ GIF рдореЗрдВ 3-5 mb рд▓рдЧрддреЗ рдереЗред рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд▓рд╛рдЗрд╡рдЯреАрдкрд┐рдВрдЧ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬрд┐рдл рдХрдо (30-50 kb) рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдЦрдХ рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ рдЙрд╕рдиреЗ рдРрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рдерд╛
рдЬрд┐рдлрд╕рд┐рдХрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдЬреЛ рдЬреАрдЖрдИрдПрдл рдХреЛ рдмрд╣реБрдд рдордЬрдмреВрддреА рдФрд░ рдЧреБрдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлреНрд░реЗрдо рдХреЗ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдирд┐рдореЗрдЯреЗрдб рдкрд╛рда рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдерд╛ред
рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдирдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд┐рдлрд╝реНрд╕рд┐рдХрд▓ рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдЬрд▓реНрдж рд╣реА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред
рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ, рдпрд╣рд╛рдБ рдореЗрд░рд╛ Android.mk рд╣реИ:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := malloc LOCAL_SRC_FILES := fmalloc.c dmalloc.c LOCAL_ARM_MODE := arm LOCAL_CFLAGS := -DFPM_ARM -ffast-math -O3 LOCAL_C_INCLUDES := $(LOCAL_PATH)/include include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := gifwrite LOCAL_SRC_FILES := ungifwrt.c LOCAL_ARM_MODE := arm LOCAL_CFLAGS := -DFPM_ARM -ffast-math -O3 LOCAL_C_INCLUDES := $(LOCAL_PATH)/include include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := gifopt LOCAL_SRC_FILES := clp.c giffunc.c gifread.c gifunopt.c \ merge.c optimize.c quantize.c support.c xform.c \ gifsicle.c LOCAL_ARM_MODE := arm LOCAL_CFLAGS := -DFPM_ARM -ffast-math -O3 LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_LDLIBS := -llog LOCAL_STATIC_LIBRARIES := gifwrite malloc include $(BUILD_SHARED_LIBRARY)
рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд░ рдмрд╛рд░ рдПрдХ рд╣реА GIF рдлрд╝рд╛рдЗрд▓ рдХреА рдкреАрдврд╝реА рдФрд░ рдЕрдиреБрдХреВрд▓рди рдиреЗ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджрд┐рдпрд╛ред рдмрд╣реБрдд рдЕрд▓рдЧ, рдкреНрд░рд╕рд╛рд░ 50kb рд╕реЗ 2 mb рддрдХ рдерд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрдорд┐рд▓рди, рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдХреА рддрд▓рд╛рд╢, рдЖрджрд┐ ... рдЗрд╕ рдШрдЯрдирд╛ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреАред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЗрд╕ рддрд░рд╣ рджреЛ рд╕рдкреНрддрд╛рд╣ рдмреАрдд рдЧрдПред
рдПрдХ рдЦреВрдмрд╕реВрд░рдд рд╕реБрдмрд╣, рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЬрд┐рдлрд╕реАрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд▓реЗрдЦрдХ рднреА рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдерд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рдереА, рд▓реЗрдХрд┐рди рдЬреАрдЖрдИрдПрдл рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп (рд╡рд░реНрдЧ)ред рдореИрдВрдиреЗ рдЕрдиреБрдХреВрд▓рди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрд╛: рдлрд╛рдЗрд▓реЗрдВ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдЖрдХрд╛рд░ рдХреА рдереАрдВ, рдХреЗрд╡рд▓ рдХрднреА-рдХрднреА рд╡реЗ 1-2kb рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рдереАрдВред рдЕрдЬреАрдм рд╣реИ, рд▓реЗрдХрд┐рди рдШрд╛рддрдХ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХрдЪреНрдЪреЗ рд╕реА рдХреЛрдб рдореЗрдВ рдШреВрдордирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ, рдореБрдЭреЗ рдЬрд╛рд╡рд╛ рдПрдордИ рдореЗрдВ рдПрдХ рд╕рдорд╛рди
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдорд┐рд▓рд╛, рдФрд░ рдЗрд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдПрдордИ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреАрдЖрдИ рдХреЗ рдмреАрдЪ рдХреА рд╣рдбрд╝рддрд╛рд▓реА рд╕рдорд╛рдирддрд╛ рдХреЛ рднреА рджреЗрдЦрд╛ - рдХрдИ рд╕рдорд╛рди рдХрд╛рд░реНрдп рд╣реИрдВ (рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ рд╡реНрдпрд╡рд╕рд╛рдп рдирд╣реАрдВ рдерд╛)ред рдЕрдм рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ ... рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж рдЬрдм рдореЗрд░реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЬреАрдЖрдИрдПрдл рдлрд╝рд╛рдЗрд▓ рдЦреЗрд▓ рд░рд╣реЗ рдереЗ, рддреЛ рдорд╛рдирдХ рдЫрд╡рд┐ рд╡реНрдпреВрдЕрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХрднреА-рдХрднреА рднрдпрд╛рдирдХ рд░рдВрдЧ рдХреЗ рдЧреНрд▓рд┐рдЪ рдФрд░ рдлреНрд░реЗрдо рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдм рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП LZW рджрд░реНрд╢рдХ рджреНрд╡рд╛рд░рд╛ рдЦрд░рд╛рдм рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рдерд╛ рдФрд░ рдЗрд╕реЗ рдЧрд┐рдлреНрд╕рд┐рдХрд▓ рд░реВрдк рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ред рдЕрдм рд╕рдм рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛ рдЧрдпрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдлрд╛рдЗрд▓реЗрдВ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рд╣реЛрдиреА рд╢реБрд░реВ рд╣реБрдИрдВред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЙрд╕ рдХреНрд╖рдг рддрдХ, рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдПрдХ рдорд╣реАрдирд╛ рдмрд┐рддрд╛рдпрд╛ред рджреВрд╕рд░реЗ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрдирд╛ рдерд╛ред рдореИрдВ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдпреВрдЖрдИ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореИрдВрдиреЗ рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рдЪреБрдирд╛ред рдЪреВрдВрдХрд┐ "рд╕рдм рдХреБрдЫ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ," рдореИрдВрдиреЗ Google IO рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рдХреЛрдб рд▓рд┐рдпрд╛ред рдпрд╣ рдХрд╣реАрдВ рдЗрд╕ рддрд░рд╣ рдирд┐рдХрд▓рд╛:
рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦрдиреЗ рдХреА рдЦрд┐рдбрд╝рдХреА рдЗрд╕ рддрд░рд╣ рдирд┐рдХрд▓реА:
рдЖрдк рд▓рд┐рдЦрд┐рдд рдПрдирд┐рдореЗрдЯреЗрдб рд╕рдВрджреЗрд╢ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕реЗ рдЬреАрдЖрдИрдПрдл рдПрдиреАрдореЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж "рд╢реЗрдпрд░" рдмрдЯрди рдИрдореЗрд▓, рдПрдордПрдордПрд╕, рдЯреНрд╡рд┐рдЯрд░, рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдбрд╛рдпрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреНрд░реАрди рдкрд░ рдХреАрдмреЛрд░реНрдб рдЗрд╕реЗ рдХрд╡рд░ рди рдХрд░реЗред рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдВ рдХреАрдмреЛрд░реНрдб рдмрд╣реБрдд рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рд╕реНрдХреНрд░реАрди рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдКрдВрдЪрд╛рдИ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди ... рдпрд╣ рдЖрд▓рд╕реНрдп рдмрди рдЧрдпрд╛ред
рддрдм, рдорд╛рдирдХ рд╡рд░реАрдпрддрд╛ рд╡рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдЧрдИ:
рд╕рд╛рде рд╣реА рд╕рд╛рде рдореЗрд░реЗ рдкреЛрд╕реНрдЯ рдХреА рд╕реВрдЪреА рднреАред
рдмрд╛рдЗрдирд░реА рдлреЙрд░реНрдо рдореЗрдВ рдХреЗрд╡рд▓ рдЧреНрд░рдВрдереЛрдВ (рдлрд╝реНрд░реЗрдо) рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдкрд░ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИред рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп, рдкрд╣рд▓реЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдлрд╝реЙрдиреНрдЯ рд░рдВрдЧ рдФрд░ рдЖрдХрд╛рд░, рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ, рдПрдиреАрдореЗрд╢рди рдЧрддрд┐) рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдкрд╣рд▓реЗ, рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ: рдореБрдлреНрдд рдФрд░ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдм рдХреЗрд╡рд▓ рдореБрдлреНрдд рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ 20 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЬрд╛рд░ рдореЗрдВ рд╣реИред рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдПрдХ рдореЗрдВ, рдЕрдзрд┐рдХ рдлреЛрдВрдЯ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ, рдЕрдзрд┐рдХ рдлрд╝реЙрдиреНрдЯ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ, рдЕрдзрд┐рдХ рдлрд╝реНрд░реЗрдо рд╕реАрдорд╛ - 500 (рдЕрдм 140)ред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдлрд▓рддрд╛ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ: рдХреБрд▓ 583 рд╕реНрдерд╛рдкрдирд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 227 рд╕рдХреНрд░рд┐рдп рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдбрд╛рдЙрдирд▓реЛрдб рдкрд╣рд▓реЗ рд╣реА рд╣рдЯрд╛рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рдиреЗ рд╕рд╡рд╛рд░реА рдирд╣реАрдВ рдХреА =)
рдЗрд╕рд▓рд┐рдП, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬрд╛рд░реА рд░рд╣рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рд╕рдм, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рджреВрдВрдЧрд╛ред рдореИрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рднреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВред
рдЕрдкрдбреЗрдЯ: рд╡рд┐рджреЗрд╢реА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдХрдИ рдорд┐рдиреА-рд╕рдореАрдХреНрд╖рд╛рдПрдВ:
www.androidapplog.com/2011/09/android-app-reviews/animado-animated-messaging-app-reviewwww.addictivetips.com/mobile/animado-for-android-share-animated-text-messages-as-gif-filesрдпрд╣рд╛рдВ рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ
рдмрд╛рдЬрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдбрд╝реА рд╣реИред