Android编程制作漫画,画出自己的漫画 Android漫画风制作所

画出自己的漫画 Android漫画风制作所

2013年02月15日 01:50作者:杨霏霏编辑:杨霏霏文章出处:泡泡网原创

分享

泡泡网手机频道2月15日 黑白漫画相信是众多80后脑海中不可磨灭的一段记忆,从前的柯南、海贼王都是从漫画书开始流传开来的。不过随着我们年龄的长大,漫画貌似也离我们越来越远了。但当智能手机出现之时,一批漫画制作软件也应运而生,从此我们便能画出自己的漫画。

3ff94ea470e6bff85af7c27e3f82c634.png

推荐应用

漫画风制作所

售价:免费

大小:6MB

下载地址

这款由纯日文构成的软件确实非常符合他的漫画风的特点。和众多修图软件一样,该款软件同样可以选择拍照或是选择相册照片。在选择照片时可以按照构图需要框出照片需要的部分。看似比较人性化的设计实际操作并不太好用。在扩大选择框时境况出现Bug,因此小编提醒各位用户还是不要轻易变动选择框大小为妙。

56ec7a3b9873edccced5a652368f25f4.png 2ece8178a013971031e587ca84e8c995.png

漫画的风格众多,颜色也从深到浅可以选择的范围非常广泛。在操作过程中有英文提示还算是比较符合大众口味,毕竟相比较日文来说,英文更加容易让用户理解。

e1614d8ac92682ee9fcc52bc5828151d.png 564d93897c7097a6ffc2a78b1778efdb.png

漫画书中用户经常可以发现一些让我们怵目惊心的场景,或是几道代表惊讶的线条,或是充满爱意的小图标等等。在该款软件中用户同样可以选择这些元素,在其材料库中丰富的场景资源也给漫画制作提供了良好的素材。

397120f2b361995c1c8fdd587e5d75ef.png 8e86e25a09fa61d75d4e855f6389bdd9.png

507f4ce4d0f259f3a97149f8583f169a.png 884af3d88a2fadc04802d4b5e6ca441f.png

软件在操作方面虽然不太尽如人意,但漫画素材和处理的效果比较不错,从中可以感受曾经漫画书中的味道。若你是为文艺的爱好者,不妨也下载该款软件从中感受下制作漫画的乐趣。■

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android制作视频动画,您可以按照以下步骤进行操作: 1. 创建一个帧动画资源文件(XML),并在其中定义每一帧所需的图像。例如,您可以在res/drawable目录下创建一个名为“my_animation.xml”的文件,并添加以下内容: ```xml <animation-list android:id="@+id/my_animation" android:oneshot="false"> <item android:drawable="@drawable/frame1" android:duration="100" /> <item android:drawable="@drawable/frame2" android:duration="100" /> <item android:drawable="@drawable/frame3" android:duration="100" /> <!-- 添加更多帧 --> </animation-list> ``` 2. 在您的Activity或Fragment中,加载并启动动画。例如: ```java ImageView imageView = findViewById(R.id.my_image_view); AnimationDrawable animation = (AnimationDrawable) getResources().getDrawable(R.drawable.my_animation); imageView.setImageDrawable(animation); animation.start(); ``` 3. 如果您希望将动画保存为视频文件,则可以使用MediaCodec和MediaMuxer API。首先,您需要创建一个编码器(encoder)和一个多路复用器(muxer),并将它们配置为以所需格式编码和写入视频帧。然后,您可以将每一帧作为位图(Bitmap)传递给编码器,并使用muxer将编码后的数据写入输出文件。最后,您需要在完成处理后释放所有资源。注意:这是一个相对复杂的过程,需要您具有一定的Android编程经验和对视频编码和格式的了解。以下是一个简单的示例代码,供您参考: ```java // 创建编码器(encoder) MediaFormat format = MediaFormat.createVideoFormat("video/avc", width, height); format.setInteger(MediaFormat.KEY_BIT_RATE, bitRate); format.setInteger(MediaFormat.KEY_FRAME_RATE, frameRate); format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); MediaCodec encoder = MediaCodec.createEncoderByType("video/avc"); encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); Surface surface = encoder.createInputSurface(); encoder.start(); // 创建多路复用器(muxer) MediaMuxer muxer = new MediaMuxer(outputFile.getPath(), MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); // 编码和写入每一帧 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.frame1); for (int i = 0; i < numFrames; i++) { // 渲染当前帧到编码表面(surface) Canvas canvas = surface.lockCanvas(null); canvas.drawBitmap(bitmap, 0, 0, null); surface.unlockCanvasAndPost(canvas); // 从编码器输出缓冲区中读取编码后的数据 ByteBuffer[] outputBuffers = encoder.getOutputBuffers(); MediaCodec.BufferInfo bufferInfo = new MediaCodec.BufferInfo(); int outputBufferIndex = encoder.dequeueOutputBuffer(bufferInfo, TIMEOUT_US); while (outputBufferIndex >= 0) { ByteBuffer outputBuffer = outputBuffers[outputBufferIndex]; muxer.writeSampleData(videoTrackIndex, outputBuffer, bufferInfo); encoder.releaseOutputBuffer(outputBufferIndex, false); outputBufferIndex = encoder.dequeueOutputBuffer(bufferInfo, TIMEOUT_US); } // 读取下一帧图像 bitmap = BitmapFactory.decodeResource(getResources(), getResources().getIdentifier("frame" + (i+2), "drawable", getPackageName())); } // 释放资源 encoder.stop(); encoder.release(); muxer.stop(); muxer.release(); ``` 希望这些信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值