日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java播放声音和图片的代码_java怎么将出片处理成老照片?怎么播放声音?

發(fā)布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java播放声音和图片的代码_java怎么将出片处理成老照片?怎么播放声音? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在java編程語言中,有各式各樣的程序可以解決我們的日常問題。今天就為大家介紹一下,怎么在java中將剛拍出的照片處理成老照片,以及在java中如何實現(xiàn)播放聲音的效果。

我們知道有一款軟件即PS,可以讓照片看起來像是飽經(jīng)滄桑,微微泛黃。英文中這種圖像特效被稱為Sepia Tone Effect:int?fr?=?(int)(((double)?tr?*?0.393)?+?((double)?tg?*?0.769)?+?((double)?tb?*?0.189));

int?fg?=?(int)(((double)?tr?*?0.349)?+?((double)?tg?*?0.686)?+?((double)?tb?*?0.168));

int?fb?=?(int)(((double)?tr?*?0.272)?+?((double)?tg?*?0.534)?+?((double)?tb?*?0.131));

之后,我們需要對圖像計算出來的新的RGB值根據(jù)隨機(jī)權(quán)重與舊值混合。

計算隨機(jī)權(quán)重的代碼如下:private?double?noise()

{

return?Math.random()?*?0.5?+?0.5;

}

混合顏色的代碼如下:private?double?colorBlend(double?scale,?double?dest,?double?src)

{

return?(scale?*?dest?+?(1.0?-?scale)?*?src);

}

濾鏡完全源代碼:package?com.gloomyfish.filter.study;

import?java.awt.image.BufferedImage;

public?class?SepiaToneFilter?extends?AbstractBufferedImageOp

{

@Override

public?BufferedImage?filter(BufferedImage?src,?BufferedImage?dest)

{

int?width?=?src.getWidth();

int?height?=?src.getHeight();

if?(dest?==?null)

dest?=?createCompatibleDestImage(src,?null);

int[]?inPixels?=?new?int[width?*?height];

int[]?outPixels?=?new?int[width?*?height];

getRGB(src,?0,?0,?width,?height,?inPixels);

int?index?=?0;

for?(int?row?=?0;?row?

{

int?ta?=?0,?tr?=?0,?tg?=?0,?tb?=?0;

for?(int?col?=?0;?col?

{

index?=?row?*?width?+?col;

ta?=?(inPixels[index]?>>?24)?&?0xff;

tr?=?(inPixels[index]?>>?16)?&?0xff;

tg?=?(inPixels[index]?>>?8)?&?0xff;

tb?=?inPixels[index]?&?0xff;

//int?fr=?(int)(((double)tr?*?0.393)?+?((double)tg?*?0.769)?+?((double)tb?*?0.189));

//int?fg?=?(int)(((double)tr?*?0.349)?+?((double)tg?*?0.686)?+?((double)tb?*?0.168));

//int?fb=?(int)(((double)tr?*?0.272)?+?((double)tg?*?0.534)?+?((double)tb?*?0.131));

int?fr?=?(int)?colorBlend(noise(),?(tr?*?0.393)?+?(tg?*?0.769)?+?(tb?*?0.189),?tr);

int?fg?=?(int)?colorBlend(noise(),?(tr?*?0.349)?+?(tg?*?0.686)?+?(tb?*?0.168),?tg);

int?fb?=?(int)?colorBlend(noise(),?(tr?*?0.272)?+?(tg?*?0.534)?+?(tb?*?0.131),?tb);

outPixels[index]?=?(ta?<

}

}

setRGB(dest,?0,?0,?width,?height,?outPixels);

return?dest;

}

private?double?noise()

{

return?Math.random()?*?0.5?+?0.5;

}

private?double?colorBlend(double?scale,?double?dest,?double?src)

{

return?(scale?*?dest?+?(1.0?-?scale)?*?src);

}

public?static?int?clamp(int?c)

{

return?c?>?255???255?:?((c?

}

public?String?toString()

{

return?"Sepia?Tone?Effect?-?Effect?from?Photoshop?App";

}

}

下面為大家展示在java中實現(xiàn)聲音播放效果的方法。

首先可以使用MediaPlayer播放聲音,它通常用于所有音頻的內(nèi)容:public?class?APP?extends?Activity

{

//ADD?THIS?LINE?AND?IMPORT?MediaPlayer

MediaPlayer?btnClick;

@Override

public?void?onCreate(Bundle?savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//ADD?THIS?LINE?TO?YOUR?onCreate?METHOD?AFTER?YOU?SET?THE?CONTENT?VIEW

btnClick?=?MediaPlayer.create(this,?R.raw.button_click);

}

}

之后它將設(shè)置音頻及其播放的內(nèi)容,直到完成。然后將此行添加到需要播放聲音的任何地方:btnClick.start();

如果想要循環(huán)播放(配樂或歌曲),需要添加以下內(nèi)容:btnClick.setLooping(true);

完成循環(huán)播放的配樂或完成應(yīng)用程序后,可以添加以下內(nèi)容用來停止音頻:btnClick.setLooping(true);

或者btnClick.release();

從技術(shù)上講,我們應(yīng)該為MediaPlayer本身添加2行,開始添加1行,結(jié)束添加1行(自由選擇,但最適合于良好的編程習(xí)慣和實踐)。

以上就是關(guān)于如何在java中將出片處理成老照片的有關(guān)內(nèi)容,以及怎么在java中實現(xiàn)播放聲音的效果。想要了解更多java經(jīng)典例子及常見問題,敬請關(guān)注奇Q工具網(wǎng)。

推薦閱讀:

總結(jié)

以上是生活随笔為你收集整理的java播放声音和图片的代码_java怎么将出片处理成老照片?怎么播放声音?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。