影像銳化 |
答題得分者是:Vicen
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
有沒有簡單的程式碼可以對圖檔進行銳化?< >
如果要上網找, 關鍵字應輸入什麼才找得到呀? 我的目的是要縮小相片, 但會做一次銳化, 謝謝!< > 想要叫老婆mail相片給我, 她說太大了, 她同事說沒有photoshop沒法轉小
奇怪了, 相片縮小非要用那種軟體嗎?(我是說專業啦)
何況, 要教會她, 那我自己做算了, 為什麼沒有人作那種白痴也會用的轉檔程式呢?數位相機那麼普遍了, 這種小事,唉, 連acdsee都誏我覺得太專業了,自己做算了! 努力會更接近成功
------
努力會更接近成功 |
Vicen
高階會員 發表:13 回覆:145 積分:151 註冊:2005-03-14 發送簡訊給我 |
呵呵,这个是我以前从一个图形编辑软件里COPY收集的,原因就是这个锐化代码效果还是比较令人满意的,使用也非常方便,用普通TIMAGE即可,而且支持进度,不知道对你有无用处。~
//锐化 procedure Sharpen(SrcBmp:Tbitmap;AProgressBar:TProgressBar); var i, j: integer; SrcRow: pRGBArray; SrcPreRow:pRGBArray; Value:integer; begin AProgressBar.Max:=SrcBmp.Height - 1; for i := 1 to SrcBmp.Height - 1 do begin SrcRow := SrcBmp.ScanLine[i]; SrcPreRow:=SrcBmp.ScanLine[i-1]; //DestRow := DestBmp.ScanLine[i]; // for each pixel in row for j := 0 to SrcBmp.Width - 1 do begin // add brightness value to pixel's RGB values // RGB values must be less than 256 Value:=SrcRow[j].rgbtRed (SrcRow[j].rgbtRed-SrcPreRow[j-1].rgbtRed)div 2; Value:=Max(0,Value); Value:=Min(255,Value); SrcRow[j].rgbtRed:=value; Value:=SrcRow[j].rgbtGreen (SrcRow[j].rgbtGreen-SrcPreRow[j-1].rgbtGreen)div 2; Value:=Max(0,Value); Value:=Min(255,Value); SrcRow[j].rgbtGreen:=value; Value:=SrcRow[j].rgbtBlue (SrcRow[j].rgbtBlue-SrcPreRow[j-1].rgbtBlue)div 2; Value:=Max(0,Value); Value:=Min(255,Value); SrcRow[j].rgbtBlue:=value; end; AProgressBar.Position:=i; end; end; |
1259shiyong
一般會員 發表:2 回覆:6 積分:1 註冊:2005-10-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |