當前位置:首頁 » 編程語言 » c語言如何加滾動字幕
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言如何加滾動字幕

發布時間: 2022-06-16 23:08:15

A. 如何在linux下用c語言實現字幕的左右滾動

用死循環 每次將顯示的字幕刪除然後把字幕往前移一位再顯示 達到一定的距離後再一點一點刪除之前的空格 給個判斷條件退出即可 這樣可以做到字幕的滾動

B. VC++6.0如何實現滾動字幕急用,急用

本來樓主這個要求要是在Win32 Application裡面的話很容易做,可是樓主偏偏要求用DOS界面,就是Win32 console application吧,下面寫了一個能實現樓主的要求,可我實在想不出來樓主要這個干什麼...

#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <string.h>

#define TIME_INTERVAL (CLOCKS_PER_SEC / 50)

int main(int argc, char* argv[])
{
int i, j;
long c;
char str[80] = "Hello world!";
int l = strlen(str);
char sleft[80];
char sright[80];
int scrwidth = 79;

while (1)
{
for (i = 0; i <= scrwidth; i++)
{
if (i <= scrwidth - l)
{
c = clock();
for (j = 0; j < i; j++)
{
printf(" ");
}
printf("%s\r", str);
while (clock() - c <= TIME_INTERVAL)
;
} else
{
c = clock();
strcpy(sleft, str);
strcpy(sright, str + l - (i - (scrwidth - l)));
*(sleft + l - (i - (scrwidth - l))) = NULL;
for (j = 0; j < i; j++)
{
printf(" ");
}
printf("%s\r", sleft);
printf("%s\r", sright);
while (clock() - c <= TIME_INTERVAL)
;
}
}
}

return 0;
}

C. 如何用c語言寫一個滾動條

調用API
在CreateWindow函數中第三個參數里加上 |WS_HSCROLL|WS_VSCROLL
至於滾動條的詳細設置,要在窗口過程的消息處理里進行

D. c語言實現滾動字幕

#include<stdio.h>
#include<graphics.h>
void main()
{int gd=DETECT,gm,i,j=0;
initgraph(&gd,&gm,"");/*圖形初始化*/
cleardevice();/*清屏*/
setbkcolor(BLACK);/*設置背景顏色*/
for(i=640;i>=-40;i-=40)/*循環*/
{
moveto(i+20,420);/*移動游標*/
setcolor(RED);/*設置字體顏色*/
outtext("ABCDE");/*你要輸出的字元串*/
setcolor(BLACK);/*設置字體顏色(與背景色一樣)*/
outtext("ABCDE");/*你要輸出的字元串*/
moveto(i,430);/*移動游標*/
setcolor(RED);/*設置字體顏色*/
outtext("ABCDE");/*你要輸出的字元串*/
setcolor(BLACK);/*設置字元顏色(與背景色一樣)*/
outtext("ABCDE");/*你要輸出的字元*/
if(i==-40&&j<2) {i=640;j++;}/*移動3遍*/
delay(30000);/*時間延遲*/
}
}
我的QQ郵箱是:[email protected]
拜拜!!!

E. c語言怎麼實現滾動的字母比如一排文字,從下面一直平移到上面

用一個二維數組,記錄。
比如10行10列按序輸出顯示,
寫個循環遍歷數組每次將下一行內容復制給上一行。
再看看別人怎麼說的。

F. 滾動字幕c語言編程求一個16*16的LED點陣屏滾動字幕的C語言程序

這算是單片機上應用吧。
先要看LED點陣屏所需參數(驅動,速度,點陣顯示漢字串口),這個看懂了也就會了。當然先要會C語言
要是不會,直接用那就找差不多的改。
http://blog.163.com/heaphone2010@126/blog/static/1684254352010112693739548/
這里有一個16*128的。

G. 用c語言編寫一個字幕滾動程序

以下代碼實現字元從右到左循環滾動.

C語言控制台程序

#include<stdio.h>
#include<string.h>
#include<windows.h>

intmain()
{
charstr[100]="HELLOWORLD!GOODBYE!";
inti,j;
for(i=0;i<strlen(str);i++)
{
system("cls");
for(j=i;j<strlen(str);j++)
{
printf("%c",str[j]);
}
Sleep(100);
printf(" ");
}
return0;
}

H. c語言寫滾動的字

這不光是C語言本身,而且和顯示終端密不可分。比如在windows的cmd下需要配合清屏命令。

Evangelie的回答沒有錯誤,在函數隨意位置聲明變數是C99標准,是正確的C語法。而且注意,凡是和顯示終端相關的,就和操作系統有關,Evangelie的程序只能運行在dos下。或者模擬dos終端下

I. C語言下如何實現字元滾動顯示

調用系統函數,system("CLS");清屏重新輸,某一部分的話,可以用gotoxy函數,當然VC或TC沒有,可以去網上找,也是利用系統API函數,希望能幫到你

J. c語言滾動字幕代碼

在軟體啟動時,為了加深軟體在用戶頭腦中的印象,可以在軟體封面上由下而上循環滾動顯示一些包含軟體名稱、功能、版本、用戶名、研製單位等文字信息,在用戶按下任意鍵或點擊滑鼠鍵後,立即結束演示進入程序主界面。本文通過向工程中添加Splash screen組件,然後在CsplashWnd類中添加DrawText成員方便地實現了具有滾動文字效果的軟體封面,其中文字的位置、對齊方式、字體、字型大小、顏色都由程序來控制。

---- 詳細設計步驟如下:

---- 1.創建一個名為test的SDI或MDI工程;

---- 2.向工程中添加Splash screen組件,即添加一個CWnd類的派生類CsplashWnd;

---- 3.編輯或導入軟體封面的點陣圖資源,標識號為IDB_SPLASH;

---- 4.向CsplashWnd類中添加一個公有成員函數DrawText,此函數用來在軟體封面中顯示文字,的實現代碼如下:(其中參數含義分別為:內存dc,文字位置,對齊方式,字體,字型大小,顏色,正文文字)

void CSplashWnd::DrawText(CDC *pDC,
int x, int y, int nAlign,
CString sFontName, int nFONTSIZE0,
COLORREF crTextColor, CString sText)
{
LOGFONT lf;//字體
lf.lfStrikeOut=0;//刪除線
lf.lfCharSet = DEFAULT_CHARSET ;//字元集
lf.lfEscapement =0;//角度
lf.lfItalic = 0 ;//傾斜
lf.lfUnderline = 0 ;//下劃線
lf.lfHeight = nFONTSIZE0 ;//字型大小

strcpy(lf.lfFaceName,sFaceName.
GetBuffer(sFontName.GetLength()));
CFont font ;
font.CreateFontIndirect(&lf);
CFont *pOldFont = (CFont *)
pDC->SelectObject(&font);
UINT oldAlign,uAlign ;
switch(nAlign)
{
case 0: uAlign = TA_LEFT | TA_TOP ; break;
case 1: uAlign = TA_CENTER | TA_TOP; break;
case 2: uAlign = TA_RIGHT | TA_TOP ; break;
default: uAlign = TA_LEFT | TA_TOP ; break;
}
oldAlign = pDC->SetTextAlign(uAlign);
int oldMode = pDC->SetBkMode(TRANSPARENT);
int oldColor = pDC->SetTextColor(crTextColor) ;
pDC->TextOut(x,y,sText);

pDC->SetTextColor(oldColor) ;
pDC->SetTextAlign(oldAlign);
pDC->SetBkMode(oldMode);
pDC->SelectObject(pOldFont);
font.DeleteObject();
}

---- 5. 給CsplashWnd類中添加如下公有成員變數,並初始化變數;

class CSplashWnd : public CWnd
{
......
public:
CDC m_dcText,m_dcImage;//顯示dc的兼容內存dc
CBitmap* m_pBitmap;//點陣圖對象
CBitmap* m_pOldBitmapText,
*m_pOldBitmap;//跟蹤內存dc中的原點陣圖
CRgn m_rgn;//用於生成矩形區域
CRect m_TextRect ;//顯示文字的矩形區域
int m_nCurPos ;//文字當前位置
......
}

CSplashWnd::CSplashWnd()
{......
m_nCurPos = 50 ;
......
}
---- 6.在SPLASH.CPP中加入以下預定義命令:

#define TITLECOLOR RGB(0,0,255)//默認標題顏色
#define CONTENTCOLOR RGB(0,255,255)//默認說明文字顏色
#define FONTSIZE0 15 //默認字型大小

---- 7. 在CsplashWnd類Create中拷貝矩形區域到m_TextRect ;

BOOL CSplashWnd::Create
(CWnd* pParentWnd /*= NULL*/)
{......
m_TextRect.CopyRect
(&CRect(50,100,500,300));
......
}

---- 8. 在CsplashWnd類的成員OnPaint中添加代碼,響應顯示窗口時發送的WM_PAINT消息。

void CSplashWnd::OnPaint()
{
CPaintDC dc(this);
BITMAP bm;
m_bitmap.GetBitmap(&bm);
static BOOL bFirst = TRUE;//
指示是否第一次繪制窗口
if(bFirst)
{
if (!m_dcImage.CreateCompatibleDC(&dc)) return;
m_pOldBitmap = m_dcImage.SelectObject(&m_bitmap);
if (!m_dcText.CreateCompatibleDC(&dc)) return;
m_pBitmap = new CBitmap ;
int nBitCount = m_dcText.GetDeviceCaps(BITSPIXEL);
m_pBitmap->CreateBitmap
(bm.bmWidth,bm.bmHeight,1,nBitCount,NULL);
m_pOldBitmapText = m_dcText.SelectObject(m_pBitmap);
m_rgn.CreateRectRgn(m_TextRect.left,m_TextRect.top,
m_TextRect.right,m_TextRect.bottom);
bFirst = FALSE;
}
m_dcText.SelectClipRgn(NULL);
m_dcText.BitBlt(0, 0, bm.bmWidth,
bm.bmHeight,&m_dcImage, 0, 0, SRCCOPY);
m_dcText.SelectClipRgn(&m_rgn);
int nBasex = m_TextRect.left ;
int nBasey = m_TextRect.bottom-m_nCurPos;
int nMidx = m_TextRect.left + m_TextRect.Width()/2 ;

DrawText(&m_dcText,nMidx,nBasey, 1,
"楷體_GB2312", FONTSIZE0+5,TITLECOLOR,"研製單位");
DrawText(&m_dcText,nMidx,nBasey+30, 1,
"楷體_GB2312", FONTSIZE0,CONTENTCOLOR,
"武警指揮學院模擬中心");
DrawText(&m_dcText,nMidx,nBasey+50, 1,
"楷體_GB2312", FONTSIZE0,TITLECOLOR,"郵政編碼");
DrawText(&m_dcText,nMidx,nBasey+70, 1,
"楷體_GB2312", FONTSIZE0,CONTENTCOLOR,"300350");
dc.BitBlt(0, 0, bm.bmWidth,
bm.bmHeight,&m_dcText, 0,0, SRCCOPY);
}