/**
* @description
* @param sourceimgpath 源路徑
* @param tarimgpath 儲存的路徑
* @param watermarkcontent 水印內容
* @param fileext 格式
* @return void
*/public static void addwatermark(string sourceimgpath, string tarimgpath, string watermarkcontent,string fileext)
jlabel label = new jlabel(watermarkcontent);
fontmetrics metrics = label.getfontmetrics(font);
int width = metrics.stringwidth(label.gettext());
int rowsnumber = srcimgheight/width+srcimgheight%width; // 列印的行數=的高/文字水印的寬
int columnsnumber = srcimgwidth/width+srcimgwidth%width; // 每行列印的列數=的寬/文字水印的寬
// 至少列印一次,防止太小而文字水印太長
if(rowsnumber < 1)
if(columnsnumber < 1)
for(int j=0;j}
g.dispose();// 釋放資源
// 輸出
outimgstream = new fileoutputstream(tarimgpath);
imageio.write(bufimg, fileext, outimgstream);
} catch (exception e) finally
} catch (exception e)
}}
iOS 新增水印
新增水印,這個需求要求調研時,因為是新的技術點,查閱了一些資料。資料中統統都說 獲取介面的rgb值,將需要加密的資訊翻譯成二進位制,通過位運算,新增到每個rgb值的二進位制末尾實現。解碼時線取介面的rgb二進位制值,通過位運算,得出加密資訊的二進位制即可。網上給了一些獲得介面rgb的方法,我按照其方...
js新增水印
watermark 傳入動態水印內容 function watermark settings 採用配置項替換預設值,作用類似jquery.extend if arguments.length 1 typeof arguments 0 object for key in src var otemp d...
PHP 新增水印
require config.inc.php if isset post send cur time date y m d h i s tmp name img tmp name 求出上傳的名稱字尾 ext name strtolower substr name,strrpos name,strle...