如何让文字不断显示在图片上

问题描述

如何让文字不断显示在图片上?在Form1中添加了一个picturebox,在里面添加了一张图片,在程序运行过程中,会不断显示很多文本,如何让这些文本都显示在图片上方?而且还需要图片上方的文字加一个上下方向的滚动条,以查看显示的文字。我试过在picturebox上方加一个textbox,可是textbox不知道如何把它的背景色变为透明色,请大家帮帮忙,在线等,马上结贴!

解决方案

解决方案二:
marque
解决方案三:
privatevoidpictureBox1_Paint(objectsender,PaintEventArgse){e.Graphics.DrawString("jinjazz",this.Font,Brushes.Red,newPointF(10,10));}

解决方案四:
这段代码是:有一个菜单file下子菜单为Open和Exit;一个OpenFileDialog1;打开一个txt文档,显示在界面上;可以达到你的要求,显示在背景图片之上,出现滚动条。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Collections;namespaceCapsEditor{publicpartialclassForm1:Form{#regionConstantfieldsprivateconststringstandardTitle="CapsEditor";privateconstuintmargine=10;#endregion#regionMemberfieldsprivateArrayListdocumentLines=newArrayList();privateuintlineHeight;privateSizedocumentSize;privateuintnLines;privateFontmainFont;privateFontemptyDocumentFont;privateBrushmainBrush=Brushes.Blue;privateBrushemptyDocumentBrush=Brushes.Red;privatePointmouseDoubleClickPosition;privateOpenFileDialogfileOpenDialog=newOpenFileDialog();privatebooldocumentHasData=false;#endregionpublicForm1(){InitializeComponent();CreateFonts();fileOpenDialog.FileOk+=newCancelEventHandler(this.OpenFileDialog_FileOk);fileOpenDialog.Filter="Text(*.txt)|*.txt|C#(*.cs)|*.cs";}classTextLineInformation{publicstringText;publicuintWidth;}privatevoidCreateFonts(){mainFont=newFont("Arial",10);lineHeight=(uint)mainFont.Height;emptyDocumentFont=newFont("Verdana",13,FontStyle.Bold);}protectedvoidOpenFileDialog_FileOk(objectSender,CancelEventArgse){this.LoadFile(fileOpenDialog.FileName);}privatevoidmenuFileOpen_Click(objectsender,EventArgse){fileOpenDialog.ShowDialog();}privatevoidmenuExit_Click(objectsender,EventArgse){this.Close();}privatevoidLoadFile(stringFileName){StreamReadersr=newStreamReader(FileName);stringnextLine;documentLines.Clear();nLines=0;TextLineInformationnextLineInfo;while((nextLine=sr.ReadLine())!=null){nextLineInfo=newTextLineInformation();nextLineInfo.Text=nextLine;documentLines.Add(nextLineInfo);++nLines;}sr.Close();documentHasData=(nLines>0)?true:false;CalculateLineWidth();CalculateDocumentSize();this.Text=Form1.standardTitle+""+FileName;this.Invalidate();}privatevoidCalculateLineWidth(){Graphicsdc=this.CreateGraphics();foreach(TextLineInformationnextLineindocumentLines){nextLine.Width=(uint)dc.MeasureString(nextLine.Text,mainFont).Width;}}#regionCalculateDocumentSize函数privatevoidCalculateDocumentSize(){if(!documentHasData){documentSize=newSize(100,200);}else{documentSize.Height=(int)(nLines*lineHeight)+2*(int)margine;uintmaxLineLength=0;foreach(TextLineInformationnextWordindocumentLines){uinttempLineLength=nextWord.Width+2*margine;if(tempLineLength>maxLineLength){maxLineLength=tempLineLength;}documentSize.Width=(int)maxLineLength;}this.AutoScrollMinSize=documentSize;}}#endregion
解决方案五:
接上.....protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);Graphicsdc=e.Graphics;intscrollPosX=this.AutoScrollPosition.X;intscrollPosY=this.AutoScrollPosition.Y;dc.TranslateTransform(scrollPosX,scrollPosY);if(!documentHasData){dc.DrawString("<Emptydocument>",emptyDocumentFont,emptyDocumentBrush,newPoint(20,20));base.OnPaint(e);return;}//workoutwhichlinesareinclippingrectangleintminLineInClipRegion=WorldYCoordinateToLineIndex(e.ClipRectangle.Top-scrollPosY);if(minLineInClipRegion==-1){minLineInClipRegion=0;}intmaxLineInClipRegion=WorldYCoordinateToLineIndex(e.ClipRectangle.Bottom-scrollPosY);if(maxLineInClipRegion>=this.documentLines.Count||maxLineInClipRegion==-1){maxLineInClipRegion=this.documentLines.Count-1;}TextLineInformationnextLine;for(inti=minLineInClipRegion;i<=maxLineInClipRegion;i++){nextLine=(TextLineInformation)documentLines[i];dc.DrawString(nextLine.Text,mainFont,mainBrush,this.LineIndexToWorldCoordinate(i));}}privateintWorldYCoordinateToLineIndex(inty){if(y<margine)return-1;return(int)((y-margine)/lineHeight);}privatePointLineIndexToWorldCoordinate(intindex){PointTopLeftCorner=newPoint((int)margine,(int)(lineHeight*index+margine));returnTopLeftCorner;}privateintWorldCoordinateToLineIndex(Pointpos){if(!documentHasData){return-1;}if(pos.Y<margine||pos.X<margine){return-1;}intindex=(int)(pos.Y-margine)/(int)this.lineHeight;//checkpositionisn'tbelowdocumentif(index>=documentLines.Count){return-1;}//nowcheckthathorizontalpositioniswithinthislineTextLineInformationtheLine=(TextLineInformation)documentLines[index];if(pos.X>margine+theLine.Width)return-1;//allisOk.Wecanreturnanswerreturnindex;}privatePointLineIndexToPageCoordinate(intindex){returnLineIndexToWorldCoordinate(index)+newSize(AutoScrollPosition);}privateintPageCoordinateToLineIndex(Pointpos){//Godblessyou!returnWorldCoordinateToLineIndex(pos-newSize(AutoScrollPosition));}protectedoverridevoidOnDoubleClick(EventArgse){//base.OnDoubleClick(e);//PointMouseLocation=Control.MousePosition;inti=PageCoordinateToLineIndex(this.mouseDoubleClickPosition);if(i>=0){TextLineInformationlineToBeChanged=(TextLineInformation)documentLines[i];lineToBeChanged.Text=lineToBeChanged.Text.ToUpper();Graphicsdc=this.CreateGraphics();uintnewWidth=(uint)dc.MeasureString(lineToBeChanged.Text,mainFont).Width;if(newWidth>lineToBeChanged.Width){lineToBeChanged.Width=newWidth;}if(newWidth+2*margine>this.documentSize.Width){this.documentSize.Width=(int)newWidth;this.AutoScrollMinSize=this.documentSize;}RectanglechageRectangle=newRectangle(LineIndexToPageCoordinate(i),newSize((int)newWidth,(int)this.lineHeight));this.Invalidate(chageRectangle);}base.OnDoubleClick(e);}protectedoverridevoidOnMouseDown(MouseEventArgse){base.OnMouseDown(e);this.mouseDoubleClickPosition=newPoint(e.X,e.Y);}}}
解决方案六:
帮顶
解决方案七:
不是吧几位,我的意思不是要绘图,绘图没有办法实现滚动条效果吧!添加个textbox不行吗?请高手帮帮忙!
解决方案八:
建立一个表格,将该图片设置为背景
解决方案九:
大炮大苍蝇,居然把GDI搬出来了
解决方案十:
panel设置图片背景,顶部panel背景颜色transparent
解决方案十一:
具体是什么意思详细解释一下
解决方案十二:
具体怎么做?麻烦详细解释一下!谢谢!
解决方案十三:
用层啊。
解决方案十四:
<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%><html><head><linkrel="StyleSheet"type="text/css"href="css/bt.css"><scripttype="text/javascript"src="js/msg_ajax.js"></script><title>电影详细信息</title></head><body><spanid="btc"style="position:absolute"></span><formmethod="post"name="viewForm"><tableborder="1"><tr><tdalign="middle"><imgborder="0"src="image/9.jpg"id="img1"onmouseover="getDetail('1')"></td><tdalign="middle"><imgborder="0"src="image/9.jpg"id="img2"onmouseover="getDetail('2')"></td><tdalign="middle"><imgborder="0"src="image/9.jpg"id="img3"onmouseover="getDetail('3')"></td></tr></table></form></body></html>js//vartitle;varbody;functionCreateXmlHttpObject(){varxmlHttp=null;try{//Firefox,Opera8.0+,SafarixmlHttp=newXMLHttpRequest();}catch(e){//InternetExplorertry{xmlHttp=newActiveXObject("Msxml2.XMLHTTP");}catch(e){xmlHttp=newActiveXObject("Microsoft.XMLHTTP");}}returnxmlHttp;}functiongetDetail(id){varxmlHttp=CreateXmlHttpObject();if(xmlHttp==null){alert("AJAX对象创建失败!");return;}varurl="";url="http://localhost:9000/testAjax/doGetMsg.do?method=get&id="+id+"&random="+Math.random();xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){vartemp=xmlHttp.responseText;vardisplay=temp.split(",");title=display[0];body=display[1];enableTooltips(id);}};xmlHttp.open("POST",url,true);xmlHttp.send(null);}functionenableTooltips(id){vare1;if(!document.getElementById||!document.getElementsByTagName){return;}//AddCss();//h=document.createElement("span");//h.id="btc";//h.setAttribute("id","btc");//h.style.position="absolute";//document.getElementsByTagName("body")[0].appendChild(h);e1=document.getElementById("img"+id+"");Prepare(e1);}functionPrepare(el){vartooltip,t,b,s,l;tooltip=CreateEl("span","tooltip");s=CreateEl("span","top");s.appendChild(document.createTextNode(title));tooltip.appendChild(s);b=CreateEl("b","bottom");b.appendChild(document.createTextNode(body));tooltip.appendChild(b);setOpacity(tooltip);el.tooltip=tooltip;el.onmouseover=showTooltip;el.onmouseout=hideTooltip;el.onmousemove=Locate;}functionshowTooltip(e){document.getElementById("btc").appendChild(this.tooltip);Locate(e);}functionhideTooltip(e){vard=document.getElementById("btc");if(d.childNodes.length>0){d.removeChild(d.firstChild);}}functionsetOpacity(el){el.style.filter="alpha(opacity:95)";el.style.KHTMLOpacity="0.95";el.style.MozOpacity="0.95";el.style.opacity="0.95";}functionCreateEl(t,c){varx=document.createElement(t);x.className=c;x.style.display="block";return(x);}functionAddCss(){varl=CreateEl("link");l.setAttribute("type","text/css");l.setAttribute("rel","stylesheet");l.setAttribute("href","css/bt.css");l.setAttribute("media","screen");document.getElementsByTagName("head")[0].appendChild(l);}functionLocate(e){varposx=0,posy=0;if(e==null){e=window.event;}if(e.pageX||e.pageY){posx=e.pageX;posy=e.pageY;}else{if(e.clientX||e.clientY){if(document.documentElement.scrollTop){posx=e.clientX+document.documentElement.scrollLeft;posy=e.clientY+document.documentElement.scrollTop;}else{posx=e.clientX+document.body.scrollLeft;posy=e.clientY+document.body.scrollTop;}}}document.getElementById("btc").style.top=(posy+10)+"px";document.getElementById("btc").style.left=(posx-20)+"px";}修改一下就可以了。
解决方案十五:
不好意思,没注意,我的这个是java的。不过方法类似,希望有帮助
解决方案:
该回复于2008-04-09 18:12:45被版主删除

时间: 2024-12-20 18:54:46

如何让文字不断显示在图片上的相关文章

CSS实现文字半透明显示在图片上方法

CSS让一行文字显示在图片的底部,用来说明图片的内容,当作图片标题,标题文字和背景可以设置半透明,鼠标经过图片时边框换色. 代码预览  代码如下 复制代码 <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>文字显示在图片上</title> <style type="text/css&q

html 文字显示在图片上的方法

方案一:文字浮动定位到图片上  代码如下 复制代码 <div class="img_wd">     <div class="c_img"><img src="test.jpg" width="100px" height="100px"/></div>     <div class="c_words">测试文字</div&

android 文字叠加显示在图片之上控件的实现 -- 充分利用TextView

1.通过定义XML方式实现 <TextView android:id="@+id/txtMsg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="19px" android:gravity="center_horizontal" android:text="测

ndroid图片-Android在图片上动态输入文字,并可以改变文字大小,颜色和显示框!

问题描述 Android在图片上动态输入文字,并可以改变文字大小,颜色和显示框! 大神求赐教,现在我要做一个图片上动态输入文字的效果,就是点击图片的某一个位置显示一个文本输入框editText,然后在文本输入框里面输入文字,而且输入的文字可以改变字体的大小和颜色,点击确定将文字显示在图片上!求大神!

word文档怎么在图片上写字?

  word文档怎么在图片上写字?         1.打开电脑后,首先找到WORD图标,双击打开WORD文档. 2.打开WORD文档后,在文档最上方的菜单栏上找到"插入"项,然后单击"图片",再单击"来自文件". 3.在单击"来自文件"后,选择你在的图片,然后点中打开它. 4.接着,在图片下另起一行,打上你想要写的文字. 5.然后,把光标放到图片上,右键点击,选中"设置图片格式",在选中"版式&

php文字水印和php图片水印实现代码

 有时上传图片时需要给网站加上水印,水印可以分为文字水印和图片水印,下面就实现这二种水印 文字水印   文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下:   实现代码如下:   代码如下: $dst_path = 'dst.jpg';   //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path));   //打上文字 $font = './simsun.ttc';

验证码显示在图片的问题

问题描述 我写了一个方法当第一次注册的时候生成的验证码是对的,但是再来一次注册时的时候,新生成的验证码就不显示在图片上,图片上依然显示的是上次注册时生成的验证码,导致一直提示验证码不正确,不知道是怎么回事,请大家帮忙看看,谢谢protectedvoidImgTxtCreate(){Fontfont;stringstrChr="";stringstrIMGTXT="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";intRectX=140;i

android 使用webview加载服务器上的html页面只能显示文字无法显示图片

问题描述 android 使用webview加载服务器上的html页面只能显示文字无法显示图片 android 使用webview加载服务器上的html页面时,在低版本上的系统上没有问题,但在高版本(4.4以上)系统上只能显示文字,无法显示图片: 跪求大神帮助. 解决方案 webView.getSettings().setBlockNetworkImage(false); 解决方案二: show = (WebView) findViewById(R.id.show_info); WebSetti

Excel打印图片时图片上加的文字无法显示

症状:用户的Excel文档插入有图片,然后在图片上添加有文字,但是文字添加好后,在编辑状态下能看到,但是预览时却发现文字不见了. 如图: 原因:图片图层设置问题 解决方法:按Shift--点选矩形框和图片--右键--组合--组合 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Office/excel/