當前位置:首頁 » 編程軟體 » 編程實現效果

編程實現效果

發布時間: 2022-02-24 09:01:47

① 怎麼通過c語言編程實現下面效果

main()
{
int lines_num=9;/* 行數可以修改 本程序2009-3-2 17:59在tc2.0下調試通過 */
int current_line=1;
int i;

while(current_line<=lines_num)
{
for(i=1;i<current_line;i++)printf("%d",i);
for(i=current_line;i>=1;i--)printf("%d",i);
printf("\r\n");
current_line++;
}
}

② 編程能實現那些功能

要看你需要哪些功能,用什麼編程語言,自身實力怎麼樣,這幾方面來考慮。其實只要能想到的功能大多數理論上都是可以被實現的

③ 緊急求助:vb編程實現如下效果,請給出代碼

我來。

Private Sub Command1_Click()
Text2 = Len(Text1.Text) - Len(Replace(Text1.Text, "3", ""))
Text3 = Len(Text1.Text) - Len(Replace(Text1.Text, "7", ""))
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Label1.Caption = Text1.Text
End Sub

程序里需要1個lable,3個textbox,1個command
是這個意思嗎?

如果Text1里需要接受粘貼的數據的話把Text1_KeyDown函數換成
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub

如果要程序代碼的話。留郵箱。我發你。

④ 用C++編程如何實現毛筆效果

你可以到github上看 有沒有開源的代碼 這個實現起來自己寫肯定比較費勁

⑤ 用C語言編程實現下面的功能

【程序】

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"

#define STUDENTNUMBER 4
struct student
{ char name[10];
int number;
float c[5];
} s[STUDENTNUMBER]=

{ {"王宏", 90101,85.5,88,90.5,75,96},
{"李麗", 90123,60.5,59,80.5,75,55},
{"趙小清",90207,77,90.5,56,80.5,62},
{"吳蘊華",90312,95.5,90,88,89,92.5}
};
void func1()
{ int i;
float x=0;
for ( i=0;i<STUDENTNUMBER;i++ ) x+=s[i].c[0];
printf("第一門功課平均成績: %.1f ",x/STUDENTNUMBER);
}
void func2()
{ int i,j,k;
float x;
for ( i=0;i<STUDENTNUMBER;i++ )
{ for ( j=0,x=0,k=0;j<5;j++ ) { x+=s[i].c[j]; if ( s[i].c[j]<60 ) k++; }
x/=5;
if ( k>=2 )
{ printf("%s兩門成績不及格,學號:%d",s[i].name,s[i].number);
printf("成績: %.1f,%.1f,%.1f,%.1f,%.1f,平均%.1f。 ",
s[i].c[0],s[i].c[1],s[i].c[2],s[i].c[3],s[i].c[4],x);
}
}
}
void func3()
{ int i,j,k;
float x;
for ( i=0;i<STUDENTNUMBER;i++ )
{ for ( j=0,x=0,k=0;j<5;j++ ) { x+=s[i].c[j]; if ( s[i].c[j]>=85 ) k++; }
x/=5;
if ( k>=5 || x>90 ) printf(" %s成績優秀 ",s[i].name);
}
}
void main()
{
func1();
func2();
func3();
getch();
}
【運行結果】

⑥ 編程能實現什麼功能

現在程序和人們工作很緊密。打開電視之後用的所用東西都是程序做出來的。 目前流行的 java C# php vb c c++等等。

⑦ c語言編程能夠實現+,-,*,%功能

#include"stdio.h"
intmain()
{
inta,b,c;
do
{
system("cls");
printf("計算器菜單 ");
printf("======================== ");
printf("1:計算a+b ");
printf("2:計算a-b ");
printf("3:計算a*b ");
printf("4:計算a/b ");
printf("5:計算a%b ");
printf("0:退出 ");
printf("請選擇(0-5):");
scanf("%d",&c);
if(c!=0)
{
printf("請輸入a:");
scanf("%d",&a);
printf("請輸入b:");
scanf("%d",&b);
switch(c)
{
case1:printf("a+b=%d",a+b);break;
case2:printf("a-b=%d",a-b);break;
case3:printf("a*b=%d",a*b);break;
case4:
while(b==0)
{
printf("除數不能為0,請重新輸入:");
printf("請輸入b:");
scanf("%d",&b);
}
printf("a/b=%d",a/b);break;
case5:printf("a%b=%d",a%b);break;
default:break;
}
printf(" 按任意鍵繼續......");
getch();
}
}
while(c!=0);
return0;
}

⑧ 如何通過vc編程實現對mbp圖像的各種效果

經常看電視的朋友們不知注意到沒有,最近的電視連續劇在每集片頭或片尾部分都有顯示一些特殊效果的圖像,比如前一陣子中央一套放的《長征》、目前中央八套正在播放的《康熙王朝》,這些特效稱為"圖像的浮雕效果"和"圖像的雕刻效果",經過這些特效處理後的圖像增強了觀眾們的視覺效果,它們看上去彷彿是使用3D技術作的,這也是為什麼這種技術那麼流行的原因吧。其實,我們完全可以用一些簡單的數字圖像處理演算法來實現這些看似復雜高深的顯示效果。我們手頭上的一些關於利用VC開發數字圖像資料大都是講解如何控制圖像的每一行或每一列像素的顯示時間或順序來實現一些簡單的圖像顯示效果,涉及到圖像演算法的文章很少,本文針對上述的這兩種圖像特效處理技術並加以引伸,講解了一些實現圖像特效演算法,以一個標準的Lena灰度圖像為原圖,給出了處理後的效果圖,同時給出了VC開發平台上的部分實現源代碼。

1."浮雕"圖像

"浮雕"圖象效果是指圖像的前景前向凸出背景。所謂的"浮雕"概念是指標繪圖像上的一個像素和它左上方的那個像素之間差值的一種處理過程,為了使圖像保持一定的亮度並呈現灰色,我在處理過程中為這個差值加了一個數值為128的常量。需要讀者注意的是,當設置一個像素值的時候,它和它左上方的像素都要被用到,為了避免用到已經設置過的像素,應該從圖像的右下方的像素開始處理,下面是實現的源代碼:

void CDibView::OnFDImage() //產生"浮雕"效果圖函數
{
HANDLE data1handle;
LPBITMAPINFOHEADER lpBi;
CDibDoc *pDoc=GetDocument();
HDIB hdib;
unsigned char *hData;
unsigned char *data;
hdib=pDoc->GetHDIB();
//我是如何打開圖像文件並得到圖像數據,請感興趣的朋友參考
//天極網上我的相關文章,那裡有詳細的論述,這里不再贅述。
BeginWaitCursor();
lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);
hData=(unsigned char*)FindDIBBits((LPSTR)lpBi);
pDoc->SetModifiedFlag(TRUE);
data1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight);
//聲明一個緩沖區用來暫存處理後的圖像數據
data=(unsigned char*)GlobalLock((HGLOBAL)data1handle);
AfxGetApp()->BeginWaitCursor();
int i,j,buf;
for( i=lpBi->biHeight; i>=2; i--)
for( j=lpBi->biWidth; j>=2; j--)
{
//"浮雕"處理
buf=*(hData+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)-*(hData+(lpBi->biHeight-i+1)*WIDTHBYTES(lpBi->biWidth*8)+j-1)+128;
if(buf>255) buf=255;
if(buf<0)buf=0;
*(data+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)=(BYTE)buf;
}

for( j=0; jbiHeight; j++)
for( i=0; ibiWidth; i++)
//重新寫回原始圖像的數據緩沖區
*(hData+i*WIDTHBYTES(lpBi->biWidth*8)+j)=*(data+i*WIDTHBYTES(lpBi->biWidth*8)+j);
AfxGetApp()->EndWaitCursor();
GlobalUnlock((HGLOBAL)hdib);
GlobalUnlock(data1handle);
EndWaitCursor();
Invalidate(TRUE);//顯示圖像
}

2."雕刻"圖像

上面講述了通過求一個像素和它左上方像素之間的差值並加上一個常數的方法生成"浮雕"效果的灰度圖像,"雕刻"圖像與之相反,它是通過取一個像素和它右下方的像素之間的差值並加上一個常數,這里我也取128,經過這樣處理,就可以得到"雕刻"圖像,這時候圖像的前景凹陷進背景之中。同樣需要讀者注意的是為了避免重復使用處理過的圖像像素,處理圖像時要從圖像的左上方的像素開始處理。實現代碼如下:

void CDibView::OnDKImage()
{
// TODO: Add your command handler code here
HANDLE data1handle;
LPBITMAPINFOHEADER lpBi;
CDibDoc *pDoc=GetDocument();
HDIB hdib;
unsigned char *hData;
unsigned char *data;
hdib=pDoc->GetHDIB();
BeginWaitCursor();
lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);
hData=(unsigned char*)FindDIBBits((LPSTR)lpBi);
pDoc->SetModifiedFlag(TRUE);
data1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight);
data=(unsigned char*)GlobalLock((HGLOBAL)data1handle);
AfxGetApp()->BeginWaitCursor();
int i,j,buf;
//圖像的"雕刻"處理
for( i=0;i<=lpBi->biHeight-2; i++)
for( j=0;j<=lpBi->biWidth-2; j++)
{
buf=*(hData+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)-*(hData+(lpBi->biHeight-i-1)*WIDTHBYTES(lpBi->biWidth*8)+j+1)+128;
if(buf>255) buf=255;
if(buf<0)buf=0;
*(data+(lpBi->biHeight-i)*WIDTHBYTES(lpBi->biWidth*8)+j)=(BYTE)buf;
}
for( j=0; jbiHeight; j++)
for( i=0; ibiWidth; i++)
//重新將處理後的圖像數據寫入原始的圖像緩沖區內
*(hData+i*WIDTHBYTES(lpBi->biWidth*8)+j)=*(data+i*WIDTHBYTES(lpBi->biWidth*8)+j);
AfxGetApp()->EndWaitCursor();
GlobalUnlock((HGLOBAL)hdib);
GlobalUnlock(data1handle);
EndWaitCursor();
Invalidate(TRUE);
}

Lena原圖
"雕刻"效果圖
"浮雕"效果圖

用VC實現小型矢量圖形系統的開發
大家學習了VC的MFC的一些基礎知識後,如果能用VC開發一個比較實用的軟體,對熟悉VC各方面編程和面向對象的軟體設計和開發都是很有幫助的。

本文旨在通過對一個作者自己開發的小型矢量圖形系統全面講述而達到讓讀者了解一個小軟體從設計到實現的階段的解決的問題。同時也從界面和功能上對MFC和Windows系統功能的挖掘,同樣,對於學習計算機圖形學的讀者,也可以看到本文有很多對圖形學演算法和實現的有益探討。

一. 功能和界面設計

首先,讓大家對一個本軟體功能的大概了解。當你著手開發一個軟體時,首先要解決的當然是本軟體的功能(軟體工程常稱作用例,具體概念可以參考有關資料,不妨簡單理解為用戶使用它能完成哪些工作)。由於寫這篇文章時,本軟體已經具有比較完整的原型。我們可以結合它的界面(圖1)來介紹軟體設計的過程。



可以看到,本軟體是實現了一個繪圖功能的子集。最初就確定了開發環境為VC6.0,界面採用IE風格。在使用上為了給用戶最大的便利,採用了三種工具條(普通文件、列印操作等標准工具,對圖形對象屬性設置的工具條式對話框,帶文字說明的大按鈕式可浮動或任意船塢- Dock定位的繪圖工具條)。

操作上採用左鍵點擊建立圖形對象起始點,移動動態調整圖形大小和位置(隨手畫採用按住左鍵拖動的方式,再次點擊左鍵確定位置,右鍵取消操作,雙擊確定(結束)多步圖形對象(如多邊形)的繪制。在功能設計方面基本符合一般圖形軟體的慣例,但出於作者的便利和保護滑鼠的考慮,整個功能體現了基本無需按住左鍵拖動的思想。這也是很容易讓人接受的,因為即便習慣拖動的用戶拖動時也會產生位置調整,只是釋放後還是出於拖動狀態,再次點擊或雙擊才最終確定。

功能上選擇了畫線、框、圓、多邊形、立體、文字、曲線、填充以及刪除的功能,根據是否填充和光照又增加了幾個類別,填充方式根據圖形學的概念提供了兩種方式(以後介紹)。根據對圖形屬性取了線寬、線型(很容易實現簡單的線型,由於想加入更多的特性,作者先沒有具體實現它,以後作者會提到它的實現,讀者有興趣可以試著實現)、邊框色、填充色和字體幾個屬性。當然,這些功能在面向對象的方法中都是可以很方便擴展的(如畫橢圓,選取對象,對象的位移和旋轉操作,根據填充演算法實現同色選取,即Photoshop等軟體的魔棒功能等),對於橡皮擦功能可以很簡單的實現特定工具或告訴用戶如何實現此功能(即用背景色利用已有功能繪圖)。

內部實現上,要求單獨記錄各圖形的關鍵屬性(如位置、色彩等,這些是矢量圖區別於點陣圖的特點)。由於各對象可以形成對象鏈表,因此,也要求實現多步撤消(Undo)和重做(Redo)的功能,這往往是用戶所十分期待的功能(Window自帶的畫筆附件程序在這點上就很欠缺)。

二. 對象設計

面向對象的程序設計方法都支持三種基本的活動:識別對象和類,描述對象和類之間的關系,以及通過描述每個類的功能定義對象的行為。

首先介紹一下對象(Object)和類(Class)的區別,類是同類對象數據凸δ艿拿枋齪褪迪鄭–++中用Class關鍵字定義的是類),對象是類的在內存中的具體形態(用類名聲明或用new操作生成的是對象變數),一般稱對象為類的實例(Instance)。

對於圖形對象的對象設計由於它們的較強的相關性,往往在很多面向對象編程書都提到過,故相信讀者識別對象和類不會很困難。但是,要充分利用繼承和多態的特性來描述對象和類之間的關系,以及通過描述每個類的功能定義還是要具體問題具體分析的。

⑨ ASP編程,一個效果的實現

下面是個示例代碼,直接復制到記事本中另存為HTML便可查看效果:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>TEST</title>
<style type="text/css">
.OnMouseOverBg{
background-color:#FF0000;
}
.OnMouseOutBg{
background-color:#996666;
}
</style>
<script language="javascript" type="text/javascript">
function OnMM(sVal,oMe)
{
if(sVal==1)
{
table1.style.display='';
table2.style.display='none';
td1.className='OnMouseOverBg';
td2.className='OnMouseOutBg';
}
else
{
table1.style.display='none';
table2.style.display='';
td2.className='OnMouseOverBg';
td1.className='OnMouseOutBg';
}
}
</script>
</head>

<body>
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" bgcolor="#A3B2CC" onMouseOver="OnMM(1);" id="td1">標志1</td>
<td align="center" onMouseOver="OnMM(2);" id="td2">標志2</td>
</tr>
</table>
<table width="406" height="66" border="0" cellpadding="0" cellspacing="0" bgcolor="#996600" id="table1">
<tr>
<td>這是TABLE1</td>
</tr>
</table>
<table width="407" height="59" border="0" cellpadding="0" cellspacing="0" bgcolor="#996666" id="table2" style="display:none">
<tr>
<td>這是TABLE2</td>
</tr>
</table>
</body>
</html>

熱點內容
安卓手機的雲備份在哪裡能找到 發布:2025-01-17 00:14:12 瀏覽:471
詐騙的腳本 發布:2025-01-16 23:51:27 瀏覽:314
電腦配置有點低怎麼玩和平精英 發布:2025-01-16 23:46:14 瀏覽:818
ipfs分布式伺服器是什麼幣種 發布:2025-01-16 23:32:29 瀏覽:991
android動態icon 發布:2025-01-16 23:03:12 瀏覽:605
優酷電腦緩存在哪 發布:2025-01-16 22:58:29 瀏覽:298
進口途銳哪個配置好 發布:2025-01-16 22:35:24 瀏覽:962
骨幹路由器怎麼配置 發布:2025-01-16 22:24:39 瀏覽:244
途安2021款買哪個配置 發布:2025-01-16 22:21:01 瀏覽:329
圖片的壓縮原理 發布:2025-01-16 22:17:15 瀏覽:493