BufferedImage 把圖片轉(zhuǎn)換成二維數(shù)組, 然后把指定顏色,修改成你想要的顏色。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),灤州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:灤州等地區(qū)。灤州做網(wǎng)站價(jià)格咨詢:028-86922220
需要注意 背景色和其他顏色交叉的地方, 需要有一個(gè)容差的范圍. 讓指定的顏色在某個(gè)范圍內(nèi)
或者用算法處理邊緣部分的顏色.
只需把g.drawOval(...)改成g.setColor(Color.RED); g.fillOval(..)就行了,drawOval是只畫不填充,而fillOval是畫并且填充,填充的顏色是由g.setColor()方法的參數(shù)決定的。
至少有兩種方案可以實(shí)現(xiàn):
第一是使用背景圖片,就是給Linearlayout添加一個(gè)background屬性,值選擇一張帶漸變顏色的圖片即可。
第二種方案是使用獨(dú)立的顏色代碼來替代上述一種的背景圖片,比如可以在res/drawable下新建一個(gè)mycolor.xml,然后再在LinearLayout添加屬性
android:background="@drawable/mycolor"即可
?xml?version="1.0"?encoding="utf-8"?
shape?xmlns:android="
gradient
android:angle="270"
android:centerColor="#00FFFF"
android:centerX="0.5"
android:centerY="0。3"
android:endColor="#666666"
android:startColor="#0099FF"?/
padding
android:bottom="7dp"
android:left="7dp"
android:right="7dp"
android:top="7dp"?/
corners?android:radius="4dp"?/
/shape
解析:其中android:angle ="270.0"代表角度為270,由上到下的漸變,如果我改變成0那么就變成了從左到右的漸變,如果改變90.0那么漸變會(huì)從下邊往上漸變,可以 多改變一下參數(shù)試試效果。centerColor中間顏色; centerX: x軸漸變中心,從左到右漸變時(shí)有意義;centerY: 同理y軸的漸變中心;endColor 漸變終點(diǎn)顏色,同樣startColor為漸變起點(diǎn)顏色。
上述代碼效果如下:
**************************************************************
新建一個(gè)類ChangeColor.java,代碼如下:
**************************************************************
import?java.awt.Color;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseMotionListener;
import?javax.swing.JFrame;
/**
*?@author?Godwin
*?@version?2010-05-16
*/
public?class?ChangeColor?extends?JFrame?implements?MouseMotionListener?{
public?ChangeColor()?{
this.setTitle("Change?Color");
this.setBounds(300,?200,?400,?300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.getContentPane().setBackground(Color.GREEN);
this.addMouseMotionListener(this);
}
public?void?mouseMoved(MouseEvent?e)?{
if?(e.getX()??(this.getWidth()?/?2))?{
this.getContentPane().setBackground(Color.RED);
}?else?{
this.getContentPane().setBackground(Color.BLUE);
}
}
public?void?mouseDragged(MouseEvent?e)?{
}
public?static?void?main(String[]?args)?{
new?ChangeColor();
}
}
**************************************************************
運(yùn)行結(jié)果如下:
**************************************************************