是在数据源绑定里做的吗?
若是,继续看下去:
设置Image控件进入模板的数据绑定界面后,选择设置ImageeUrl属性,并在自定义绑定中输入表达式,如绑定images文件夹中的文件,其中字段的内容为文件夹中的名称,则语句为:
~/images/+Eval(“”)
// 这是一个嵌入到网页中动态显示50是张的java小应用程序,希望你对有帮助!
import javaawt;
import javaapplet;
public class Picture extends Applet
{
Image[] theImages;
int nNum = 50;
int nNow = 0;
public void init()
{
theImages = new Image[nNum];
for(int i = 0; i < nNum ; i++)//将装入数组
theImages[i] = getImage(getDocumentBase(), "pic" + IntegertoString(i) + "jpg");
}
public void start()
{
nNow = 0;
}
public void paint(Graphics g)
{
gdrawImage(theImages[nNow],500,500,this);
nNow++;
if(nNow>=nNum)
nNow = 0;
try
{
Threadsleep(50);
}
catch(Exception e){showStatus(etoString());}
repaint();
}
public void main()
{
Graphics g;
g=thisgetGraphics ();
init();
start();
paint(g);
}
}
微信小程序 拍照和相机选择详解
前言:
小程序中获取可通过两种方式得到,第一种是直接打开微信内部自己的样式,第一格就是相机拍照,后面是,第二种是d框提示用户是要拍照还是从相册选择,下面一一来看。
选择相册要用到wxchooseImage(OBJECT)函数,具体参数如下:
直接来看打开相机相册的代码:
Page({ data: { tempFilePaths: '' }, onLoad: function () { }, chooseimage: function () { var that = this; wxchooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示 thatsetData({ tempFilePaths: restempFilePaths }) } }) }, })
方法一效果图如下:
个人认为第二种用户体验要好一点,效果如下:
点击获取d框提示,代码如下:
Page({ data: { tempFilePaths: '' }, onLoad: function () { }, chooseimage: function () { var that = this; wxshowActionSheet({ itemList: ['从相册中选择', '拍照'], itemColor: "#CED63A", success: function (res) { if (!rescancel) { if (restapIndex == 0) { thatchooseWxImage('album') } else if (restapIndex == 1) { thatchooseWxImage('camera') } } } }) }, chooseWxImage: function (type) { var that = this; wxchooseImage({ sizeType: ['original', 'compressed'], sourceType: [type], success: function (res) { consolelog(res); thatsetData({ tempFilePaths: restempFilePaths[0], }) } }) } })
文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wxsaveFile,在小程序下次启动时才能访问得到。
布局文件:
<button style="margin:30rpx;" bindtap="chooseimage">获取</button> <image src="{{tempFilePaths }}" catchTap="chooseImageTap" mode="aspectFit" style="width: 100%; height: 450rpx" />
以下为我写过一一个函数用来获取,首先得到img标签的HtmlElement对象,然后IHTMLControlRange复制的方式得到。
/// <summary>
/// 返回指定WebBrowser中<IMG></IMG>中的图内容
/// </summary>
/// <param name="WebCtl">WebBrowser控件</param>
/// <param name="ImgeTag">IMG元素</param>
/// <returns>IMG对象</returns>
private Image GetWebImage(WebBrowser wb, string id)
{
HtmlElement ImgeTag = wbDocumentGetElementById(id);
if (ImgeTag == null)
{
return null;
}
HTMLDocument doc = (HTMLDocument)wbDbDocumentDomDocument;
HTMLBody body = (HTMLBody)docbody;
IHTMLControlRange rang = (IHTMLControlRange)bodycreateControlRange();
IHTMLControlElement Img = (IHTMLControlElement)ImgeTagDomElement; //地址
object oldobj = ClipboardGetDataObject(); //备份粘贴版数据
rangadd(Img);
rangexecCommand("Copy", false, null); //拷贝到内存
Image numImage = ClipboardGetImage();
try
{
ClipboardSetDataObject(oldobj); //恢复粘贴板内容
}
catch { }
return numImage;
}
效果如下:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB,jpeg, DBCtrls, Mask;type
TForm1 = class(TForm)
con1: TADOConnection;
qry1: TADOQuery;
img1: TImage;
btn1: TBitBtn;
btn2: TBitBtn;
OpenDialog1: TOpenDialog;
lbl1: TLabel;
edt1: TEdit;
lbl2: TLabel;
edt2: TEdit;
dbnvgr1: TDBNavigator;
ds1: TDataSource;
qry2: TADOQuery;
img2: TImage;
btn3: TBitBtn;
procedure FormShow(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure dbnvgr1Click(Sender: TObject; Button: TNavigateBtn);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R dfm}procedure TForm1btn1Click(Sender: TObject);
var
ms:TMemoryStream;
jpg:TJPEGImage;
begin
ms:=TMemoryStreamCreate;
jpg:=TJPEGImageCreate;
jpgAssign(img1PictureGraphic);
jpgSaveToStream(ms);
msPosition:=0;
qry1SQLClear;
qry1SQLAdd('Insert Into TIMG(PNAME,PINFO,PPHOTO) values(:pname,:pinfo,:pphoto)');
qry1ParametersParamByName('pname')Value:=edt1Text;
qry1ParametersParamByName('pinfo')Value:=edt2Text;
qry1ParametersParamByName('pphoto')LoadFromStream(ms,ftBlob);
qry1ExecSQL;
jpgFree;
msFree;
end;procedure TForm1btn2Click(Sender: TObject);
begin
if OpenDialog1Execute then
img1PictureLoadFromFile(OpenDialog1FileName);
end;procedure TForm1btn3Click(Sender: TObject);
var
ms:TMemoryStream;
jpg:TJPEGImage;
begin
if not qry2FieldByName('PPHOTO')IsNull then
begin
ms:=TMemoryStreamCreate;
jpg:=TJPEGImageCreate;
TBlobField(qry2FieldByName('PPHOTO'))SaveToStream(ms);
msPosition:=0;
jpgLoadFromStream(ms);
img2PictureAssign(jpg);
end;
end;procedure TForm1dbnvgr1Click(Sender: TObject; Button: TNavigateBtn);
begin
btn3Click;
end;procedure TForm1FormShow(Sender: TObject);
begin
con1Close;
con1ConnectionString:='Driver=Firebird/Interbase(r) driver;UID=SYSDBA;PWD'+
'=123456;Dbname='+ExtractFilePath(ApplicationExeName)+'IMGFDB';
con1LoginPrompt:=False;
con1Connected:=True; qry2Active:=True;
//img2DataField:='PPHOTO';
end;end 我用的是Firebird数据库,存放的字段名是PPHOTO,数据类型是BLOB,其他数据库应该也差不多。
//从流中还原
Image image = ImageFromStream(你获取的流);
//显示
PictureBox pic = new PictureBox();
picImage = image;
//保存
imageSave(@"c:\picjpg");
lmage加载以后 就成为程序资源的一部分
即使你删除,这个image里显示的还是不变的
也就是说 你加载显示的和原有的已经没有联系了
所以你也不能获取什么
1 很多的浏览器都可以按F12。
F12代表开发者工具,d出开发者控制台。
2右击想要提取的,在展开的菜单中点击“检查”按钮打开控制台
3这时控制台中会跳转到的源码位置,将鼠标放在链接上可以查看的缩略图,这时右击链接,点击“Open in new tab”按钮将在新窗口打开。
4在新窗口打开后,右击被打开的,在展开的菜单中点击“另存为”按钮即可将进行保存。
5 右键检查-跳至控制台代码-右键新页打开-下载
以上就是关于如何实现imguuid获取图像全部的内容,包括:如何实现imguuid获取图像、Java如何获取网页上的图片转成Image对象、微信小程序开发时如何调用本地图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)