java代碼實(shí)現(xiàn)漸變陰影 java代碼實(shí)現(xiàn)漸變陰影的方法

各位大蝦,請(qǐng)問(wèn)如何用Java實(shí)現(xiàn)陰影效果 0

JS實(shí)現(xiàn)陰影是這個(gè) 括號(hào)后面是括號(hào)內(nèi)可以填寫的參數(shù) box-shadow:(inset內(nèi)陰影)水平偏移量 垂直偏移量 羽化范圍 陰影增加面積 顏色

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),先為安居等服務(wù)建站,安居等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為安居企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

java怎么給窗體邊框四周添加陰影和半透明

java swing是提供了設(shè)置陰影和透明度的方法的,示例如下:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import com.sun.awt.AWTUtilities;

導(dǎo)入 AWTUtilities可能會(huì)提示:訪問(wèn)限制:由于對(duì)必需的庫(kù) C:\Program Files\Java\jre6\lib\rt.jar 具有一定限制,因此無(wú)法訪問(wèn)類型 AWTUtilities,請(qǐng)到eclipse進(jìn)行設(shè)置:窗口》首選項(xiàng)》java》編譯器》錯(cuò)誤警告 選擇 代碼樣式》訪問(wèn)外層不可訪問(wèn)成員》 把錯(cuò)誤修改成功 警告

public class Ceshi extends JFrame

{

public Ceshi()

{

JLabel label=new JLabel("這是一個(gè)標(biāo)簽!");

label.setOpaque(false);

label.setHorizontalAlignment(JLabel.CENTER);

add(label);

setSize(600,400);

setLocationRelativeTo(null);

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

//Opacity最大值為1.0f,也就是什么也不透明,取值不能大于1.0f

AWTUtilities.setWindowOpacity(this,0.5f);

setVisible(true);

}

public static void main(String[] args)

{

new Ceshi();

}

}

Android如何純java代碼實(shí)現(xiàn)字體陰影效果

Android實(shí)現(xiàn)純java代碼字體陰影效果,主要是通過(guò)activity的draw方法,進(jìn)行重新繪制,如下代碼:

package?canvas.test;

import?android.app.Activity;

import?android.os.Bundle;

import?android.content.Context;

import?android.graphics.Bitmap;

import?android.graphics.BitmapFactory;

import?android.graphics.Canvas;

import?android.graphics.Color;

import?android.graphics.Paint;

import?android.graphics.PorterDuff;

import?android.graphics.PorterDuff.Mode;

import?android.graphics.PorterDuffXfermode;

import?android.graphics.Rect;

import?android.graphics.RectF;

import?android.graphics.drawable.Drawable;

import?android.view.View;

public?class?ShaderEffect?extends?Activity?{

@Override

public?void?onCreate(Bundle?savedInstanceState)?{

super.onCreate(savedInstanceState);

setContentView(new?ImageEffect(this));

}

class?ImageEffect?extends?View{

Paint?paint;?

public?ImageEffect?(Context?context){

super(context);

paint?=?new?Paint();//初始化畫(huà)筆,為后面陰影效果使用。

paint.setAntiAlias(true);//去除鋸齒。

paint.setShadowLayer(5f,?5.0f,?5.0f,?Color.BLACK);//設(shè)置陰影層,這是關(guān)鍵。

paint.setXfermode(new?PorterDuffXfermode(Mode.SRC_IN));

}

@Override

public?void?onDraw(Canvas?canvas){

super.onDraw(canvas);

int?posX?=?20;

int?posY?=?50;

int?PicWidth,PicHegiht;?

Drawable?drawable?=?getResources().getDrawable(R.drawable.button);

Drawable?dbe?=?getResources().getDrawable(R.drawable.button).mutate();//如果不調(diào)用mutate方法,則原圖也會(huì)被改變,因?yàn)檎{(diào)用的資源是同一個(gè),所有對(duì)象是共享狀態(tài)的。

Drawable?drawTest?=?getResources().getDrawable(R.drawable.button);

Bitmap?bmp?=?BitmapFactory.decodeResource(getResources(),?R.drawable.button);

PicWidth?=?drawable.getIntrinsicWidth();

PicHegiht?=?drawable.getIntrinsicHeight();

drawTest.setBounds(posX,?(2?*?posY)?+?PicHegiht,?posX?+?PicWidth,?(2?*?posY)?+?2?*?PicHegiht?);

drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHegiht);

dbe.setBounds(0,?0,?PicWidth,?PicHegiht);

canvas.drawColor(Color.WHITE);//設(shè)置畫(huà)布顏色

canvas.save(Canvas.MATRIX_SAVE_FLAG);

dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);

canvas.translate(posX?+?(int)(0.9?*?PicWidth/2),?posY?+?PicHegiht/2);//圖像平移為了剛好在原圖后形成影子效果。

canvas.skew(-0.9F,?0.0F);//圖像傾斜效果。

canvas.scale(1.0f,?0.5f);//圖像(其實(shí)是畫(huà)布)縮放,Y方向縮小為1/2。

dbe.draw(canvas);//此處為畫(huà)原圖像影子效果圖,比原圖先畫(huà),則會(huì)在下層。

drawable.clearColorFilter();

canvas.restore();

canvas.save(Canvas.MATRIX_SAVE_FLAG);

drawable.draw(canvas);//此處為畫(huà)原圖像,由于canvas有層次效果,因此會(huì)蓋在影子之上。

canvas.restore();

//默認(rèn)無(wú)效果原圖

canvas.save(Canvas.MATRIX_SAVE_FLAG);

drawTest.draw(canvas);

canvas.restore();

//圖片陰影效果

canvas.save(Canvas.MATRIX_SAVE_FLAG);

//Rect?rect?=?new?Rect(2*posX?+?PicWidth,?2*posY?+?PicHegiht,?2*posX?+?2*PicWidth,?2*posY?+?2*PicHegiht);//此為理論上的陰影圖坐標(biāo)

Rect?rect?=?new?Rect(2*posX?+?PicWidth?+?3,?2*posY?+?PicHegiht?+?3,?2*posX?+?2*PicWidth?-?2,?2*posY?+?2*PicHegiht?-?2);

//由于圖片的實(shí)際尺寸比顯示出來(lái)的圖像要大一些,因此需要適當(dāng)更改下大小,以達(dá)到較好的效果

RectF?rectF?=?new?RectF(rect);

canvas.drawRoundRect(rectF,?10f,?10f,?paint);//在原有矩形基礎(chǔ)上,畫(huà)成圓角矩形,同時(shí)帶有陰影層。

canvas.drawBitmap(bmp,?2*posX?+?PicWidth,?2*posY?+?PicHegiht,?null);//畫(huà)上原圖。

canvas.restore();

}

}

}

本文題目:java代碼實(shí)現(xiàn)漸變陰影 java代碼實(shí)現(xiàn)漸變陰影的方法
鏈接地址:http://muchs.cn/article2/hjdeoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站建設(shè)、用戶體驗(yàn)、電子商務(wù)、網(wǎng)站改版小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站