hallo,又是我鑫鑫,这次博客给大家带来纯色图制作APP代码,

在这之前要感谢之两位大佬的代码,这个程序是我通过结合两者代码,改编出来的。

1:Android之图片的颜色处理

2:android获取imageView图片并保存

在这里感谢这两位大佬

那么感谢也感谢了,直接上代码吧

MainActivity.java

package com.mycompany.myapp;import android.app.*;
import android.content.*;
import android.graphics.*;
import android.graphics.drawable.*;
import android.net.*;
import android.os.*;
import android.provider.*;
import android.view.*;
import android.view.View.*;
import android.widget.*;
import android.widget.SeekBar.*;
import java.io.*;import android.view.View.OnClickListener;public class MainActivity extends Activity implements OnSeekBarChangeListener{private SeekBar red_sb,green_sb,blue_sb;private ImageView imageView;private Canvas canvas;private Paint paint;private Bitmap baseBitmap,copyBitmap;private float red_vector,green_vector,blue_vector;Bitmap cacheBitmap = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);red_sb=(SeekBar) findViewById(R.id.red_seekbar);green_sb=(SeekBar) findViewById(R.id.green_seekbar);blue_sb=(SeekBar) findViewById(R.id.blue_seekbar);imageView=(ImageView) findViewById(R.id.im);red_sb.setOnSeekBarChangeListener(this);green_sb.setOnSeekBarChangeListener(this);blue_sb.setOnSeekBarChangeListener(this);}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {// TODO Auto-generated method stub}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stubint progress=seekBar.getProgress();float count=progress/50f;//使拖动条的取值为0f-2f,满足我们的取值要求switch (seekBar.getId()) {case R.id.red_seekbar:this.red_vector=count;break;case R.id.green_seekbar:this.green_vector=count;break;case R.id.blue_seekbar:this.blue_vector=count;break;default:break;}//Button SaveInfo =(Button) findViewById(R.id.save);imageView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {new AlertDialog.Builder(MainActivity.this).setTitle("信息提示")//设置对话框标题.setMessage("你确定要保存该图片吗?\n\n保存路径:\nsdcard/鑫鑫工具箱/纯色图制作").setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {Toast.makeText(MainActivity.this, "请调整颜色", Toast.LENGTH_SHORT).show();}}).setPositiveButton("确定", new DialogInterface.OnClickListener() {//添加确定按钮@Overridepublic void onClick(DialogInterface dialog, int which) {//确定按钮的响应事件,点击事件没写,自己添加// TODO 自动生成的方法存根imageView.buildDrawingCache(true);  imageView.buildDrawingCache();  Bitmap bitmap = imageView.getDrawingCache();  saveBitmapFile(bitmap);imageView.setDrawingCacheEnabled(false);Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();}}).show();//在按键响应事件中显示此对话框}});//主题代码baseBitmap=BitmapFactory.decodeResource(getResources(), R.drawable.Standard_background);copyBitmap=Bitmap.createBitmap(baseBitmap.getWidth(), baseBitmap.getHeight(), baseBitmap.getConfig());canvas=new Canvas(copyBitmap);Matrix matrix=new Matrix();paint=new Paint();//vector:取值范围(0-2)float[] colors=new float[]{red_vector,0,0,0,0,0,green_vector,0,0,0,0,0,blue_vector,0,0,0,0,0,1,0};paint.setColorFilter(new ColorMatrixColorFilter(colors));canvas.drawBitmap(baseBitmap, matrix, paint);imageView.setImageBitmap(copyBitmap);}public void saveBitmapFile(Bitmap bitmap){File temp = new File("/sdcard/鑫鑫工具箱/纯色图制作");//要保存文件先创建文件夹   if (!temp.exists()) {temp.mkdir();}//重复保存时,覆盖原同名图片File file=new File("/sdcard/鑫鑫工具箱/纯色图制作/成品.jpg");//将要保存图片的路径和图片名称//    File file =  new File("/sdcard/1delete/1.png");/延时较长try {BufferedOutputStream bos= new BufferedOutputStream(new FileOutputStream(file));bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);bos.flush();bos.close();} catch (IOException e) {e.printStackTrace();}}/*public void deleteFile(View v){//点击按钮删除这个文件File file = new File("/sdcard/1spray/1.png");if(file.exists()){file.delete();}}///deleteFile*/
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:gravity="center"android:background="#FFFFFFFF"><LinearLayoutandroid:layout_height="100dp"android:layout_width="match_parent"android:orientation="vertical"android:gravity="center"><TextViewandroid:layout_height="wrap_content"android:textAppearance="?android:attr/textAppearanceLarge"android:layout_width="wrap_content"android:text="纯色图制作"android:textStyle="bold"/></LinearLayout><LinearLayoutandroid:layout_height="wrap_content"android:layout_width="match_parent"android:gravity="center"android:layout_marginBottom="10dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="R"android:gravity="center"/><SeekBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/red_seekbar"android:layout_weight="1.0"android:background="@drawable/Sliding_background"android:thumb="@drawable/Sliding_button_background"/></LinearLayout><LinearLayoutandroid:layout_height="wrap_content"android:layout_width="match_parent"android:gravity="center"android:layout_marginBottom="10dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="G"android:gravity="center"/><SeekBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/green_seekbar"android:background="@drawable/Sliding_background"android:thumb="@drawable/Sliding_button_background"/></LinearLayout><LinearLayoutandroid:layout_height="wrap_content"android:layout_width="match_parent"android:gravity="center"android:layout_marginBottom="10dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="B"android:gravity="center"/><SeekBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/blue_seekbar"android:background="@drawable/Sliding_background"android:thumb="@drawable/Sliding_button_background"/></LinearLayout><ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/im"android:layout_weight="1.0"android:src="@drawable/Standard_background"/></LinearLayout>

对应资源文件

Sliding_button_background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:width="10dp" android:height="10dp"><!--图形形状--><shape android:shape="oval"><!--图形内圈颜色--><solid android:color="#20a4f9" /><!--图形大小设置--><size android:height="13dp" android:width="13dp"/><!--外环设置--><stroke android:width="0dp" android:color="#ffffff"/></shape></item>
</selector>

Sliding_background.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape><corners android:radius="5dp"/><solid android:color="#ffffff"/></shape></item><item android:id="@android:id/secondaryProgress"><clip><shape><corners android:radius="5dp"/><solid android:color="#20a4f9"/></shape></clip></item><item android:id="@android:id/progress"><clip><shape><corners android:radius="5dp"/><solid android:color="#20a4f9" /></shape></clip></item>
</layer-list>

对应图片资源:Standard_background.png

由于图片是白色的,有可能会背景色重叠,但不影响使用。

当然最后不要忘记添加保存权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

整篇文章到这就结束了,感谢各位的观看。

如果程序有什么bug还行,反馈给我。

留下邮箱,直接给源码,或者克隆源码

各位再见。 —by 鑫鑫

纯色图制作APP代码相关推荐

  1. netbeans 添加gif图片_GIF动图制作app下载|GIF动图制作安卓版 v3.9.2 官方免费版

    GIF动图制作APP是一款可以让您使用起来非常顺手的GIF动态图片制作软件,用户只需要根据app提供的功能,通过手机摄像头捕捉亲朋好友.家庭宠物等生动.有趣的瞬间,生成动画GIF图片珍藏起来!然后将视 ...

  2. android图形编辑6,图片编辑P图制作app

    图片编辑P图制作app是一个非常实用的手机修图软件,软件内置了完美的滤镜,支持一键美化,让你摆脱拍照一分钟,修图两小时尴尬情况,让即时分享变成可能,简是一种追求. 软件介绍 极简操作:修图.拼图.加素 ...

  3. 哪个相机可以拍gif动图_你见过最搞笑的gif是什么?那些搞笑的动图都是用什么gif制作app制作的?...

    话说每天上网冲浪的快乐源泉就是一些沙雕网友的沙雕动图了,有时候躺在床上刷微博.贴吧,真的是笑得全小区的灯都亮了,这种快乐我不能一个人独享,今天就来跟小伙伴分享我收藏的一些让人笑得满地找头的gif动图, ...

  4. 使用PS快速制作App logo图

    使用PS快速制作App logo图,全程大约一分钟. 应用市场要求logo图尺寸最小为256256,最大不超过512512,必须为圆角矩形.图片格式最好保存为.png和jpg 1.新建512*512像 ...

  5. 计算机logo在线设计,手机上在线制作免费logo图标的APP—Logo Foundry

    一个不输电脑上设计精美logo的手机APP,也是业界众多科技媒体报道的手机上在线制作免费logo图标的APP-Logo Foundry.如果你正需要一款可以在手机上轻松制作免费logo图表的软件,那么 ...

  6. android 照片拼接长图_长图拼接app下载 长图拼接制作 for Android v2.6.1 安卓版 下载-脚本之家...

    长图拼接制作app是一款操作很方便的长截图拼接软件.长图拼接app能够支持对截图进行裁剪和编辑,长图拼接制作app还有多种拼接模板和框架供大家选择,有需要的用户赶快下载体验吧! 软件介绍 长图拼接制作 ...

  7. 小视频app源码,邻接矩阵实现图的相关代码

    小视频app源码,邻接矩阵实现图的相关代码 /*Author:Albert Tesla WizardTime:2020/10/26 20:22 */#include<bits/stdc++.h& ...

  8. 直接复制php代码制作app,一套免费无代码在线制作APP工具,将APP打包带走

    线上营销的火爆离不开人们对APP的依赖,许多小商户已经从很早的时候就开始萌芽出制作APP来为实体店增加生意的想法,然后开发APP对中型企业都是一件成本极高的事情,即便小商户请外包团队需求降到最低,也会 ...

  9. php制作图片轮播_JavaScript_jQuery制作简洁的图片轮播效果,演示图:核心代码:$ - phpStudy...

    jQuery制作简洁的图片轮播效果 演示图: 核心代码: $(document).ready(function(){ var $iBox = $('.imgBox'), $iNum = $('.img ...

  10. wps如何自己制作流程图_自己如何制作APP软件

    自己能制作APP软件吗? 完全可以自己制作. 如果自己会编程的,能力足够,可以一个人开发一些简单的APP,但复杂的没有几个人的团队你一个人根本忙不过来,需要的时间也很长. 不会编程的,可以找在线生成平 ...

最新文章

  1. 分享一张SQLSERVER执行流程的图片
  2. 十七、字符类 GPIOS
  3. 分布式是什么,集群又是什么呢
  4. 【Tools】Tools博客汇总
  5. CSS3 Flex布局弹性容器的属性
  6. 基于范围的for循环
  7. Looper中的消息队列处理机制
  8. 字符串怎样实例化成对象
  9. android中得到屏幕的高宽(像素)
  10. 如何打开浏览器的TLS 1.1 TLS 1.2支持
  11. EndNote毕业论文参考文献格式输出
  12. 利用K8S技术栈打造个人私有云(连载之:私有云客户端打造)
  13. 跳转微信功能(学习总结)
  14. matlab 图片中花体字母,banal(26字母花体英文可复制)
  15. Unity游戏开发——向量运算(点乘和叉乘)
  16. git merge覆盖当前分支
  17. vue-cli脚本架安装出错处理
  18. 海康威视工业相机MV-CE060-10UC使用指北
  19. 解决win7开机黑屏方法
  20. C++寻找100以内可被17整除的最大自然数

热门文章

  1. linux压缩超过4g的文件吗,使用tar压缩文件,不能超过4G,有什么办法解决-
  2. 悬赏任务源码系统带app小程序源码基于php开源版
  3. 微信公众号:服务号、企业订阅号、个人订阅号的差异对比
  4. 解决office 2003安装了office 2007兼容包还是打不开office 2007的文件
  5. 利用matlab设计矩形脉冲信号,信号课程设计
  6. linux查看ubuntu版本命令,检查Ubuntu版本号的三种方法:从终端和设置中检查及使用Neofetch...
  7. 基于arduino的WiFi无线传输
  8. python将列表元素全部小写_python实现创建新列表和新字典,并使元素及键值对全部变成小写...
  9. KEGG Brite 数据库
  10. 如何打开.chm文件