Bước tới nội dung

Mô đun:InfoboxImage

Trang mô đun bị khóa vô hạn
Bách khoa toàn thư mở Wikipedia
Tài liệu mô đun[xem] [sửa] [lịch sử] [làm mới]

Tổng quan

Mô-đun này được sử dụng trong các hộp thông tin để xử lý các tham số hình ảnh và thu gọn định dạng của kết quả.

Các tham số

Tham số Mô tả
image Cần thiết. Tham số chính cần được chuyển qua có chứa thông tin hình ảnh.
size Cỡ tùy chỉnh của hình khi hiện ra
maxsize Kích thước tối đa để hiển thị hình ảnh. Lưu ý: Nếu không có thông số kích thước hoặc kích thước được chỉ định thì hình ảnh sẽ được hiển thị ở mức tối đa.
sizedefault Kích thước để sử dụng cho hình ảnh nếu không có số trong tham số size được chỉ định. Thì tham số mặc định làframeless.
alt Văn bản thay thế cho hình ảnh.
title Tiêu đề của hình ảnh (chữ hiện trong khung hiện ra khi rê chuột vào ảnh). Nếu trống trường này thì văn bản tham số alt sẽ được sử dụng.
border Nếu để là có (yes), viền khung biên hình ảnh sẽ được thêm vào.
page Số trang sẽ được hiển thị khi sử dụng hình ảnh trong nhiều trang
upright Nếu upright=yes, thêm tham số "upright" sẽ hiện ảnh bằng 75% kích thước ban đầu hoặc cỡ hình mặc định (cỡ hình 220px nếu không thay đổi tham số trongSpecial:Preferences). Nếu thêm giá trị, thêm tham số "upright=Giá trị' "vào ảnh, trong đó các giá trị nhỏ hơn 1 tỷ lệ hình ảnh xuống (0,9 = 90%) và giá trị lớn hơn 1 tỷ lệ hình ảnh lên (1,15 = 115%).
center Nếu để là có (yes), ảnh sẽ được để giữa.
thumbtime tham số thumbtime, được sử dụng cho các video clip.
suppressplaceholder Nếu không dùng tham số này, sẽ không triệt tiêu hình ảnh giữ chỗ nhất định. Xem§ Hình ảnh giữ chỗ có thể bị chặn.
link Link điều hướng khi nhấn vào ảnh

Lưu ý: Nếu bạn chỉ định các thông số cho maxsize hoặc sizedefault, thì bạn nên bao gồm đơn px sau số.


Các tham số hiển thị trong cú pháp hình ảnh

Tất cả tham số:

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} | size={{{size}}} | upright={{{upright}}} | alt={{{alt}}} | title={{{title}}} | thumbtime={{{thumbtime}}} | link={{{link}}} | border=yes | center=yes | page={{{page}}} }}
[[File:{{{image}}}|page={{{page}}}|{{{size}}}|center|alt={{{alt}}}|link={{{link}}}|border|upright={{{upright}}}|thumbtime={{{thumbtime}}}|{{{title}}}]]

Khi "size" and "maxsize" được xác định thêm vào, cái nhỏ hơn trong hai cái sẽ được sử dụng (nếu "px" bị bỏ qua thì nó sẽ được thêm vào bởi mô-đun):

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} | size=300px | maxsize=250px }}
[[File:{{{image}}}|250px]]

Khi "size" không được xác định (có thể hiểu là không có tham số này), "sizedefault" sẽ được sử dụng, mặc dù nó có thể lớn hơn "maxsize" (trong sử dụng thực tế "px" là bắt buộc sau số; bỏ qua ở đây để hiển thị nó không được thêm bởi mô-đun):

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} | sizedefault=250px | maxsize=200px }}
[[File:{{{image}}}|250px]]

Khi "size" and "sizedefault" không được xác định, "maxsize" sẽ được sử dụng (trong sử dụng thực tế "px" là bắt buộc sau số; bỏ qua ở đây để hiển thị nó không được thêm bởi mô-đun):

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} | maxsize=250px }}
[[File:{{{image}}}|250px]]

Khi "size", "sizedefault", và "maxsize" không được xác định, "frameless" sẽ được thêm vào, Hiển thị hình ảnh theo kích thước hình thu nhỏ mặc định (220px, nhưng người dùng đăng nhập có thể chỉnh thông số này tạiSpecial:Preferences) và nó được yêu cầu bắt buộc nếu dùng "upright" để mở rộng kích thước mặc định:

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} }}
[[File:{{{image}}}|frameless]]

Dùng "upright" mà không có giá trị số thêm vào, sẽ hiện hình ảnh ở kích thước xấp xỉ 75% kích thước mặc định của người dùng (nhân với 0,75 sau đó làm tròn đến 10 gần nhất):

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} | upright = yes }}
[[File:{{{image}}}|frameless|upright]]

Khi "alt" được sử dụng mà không có "title", chữ alt cũng sẽ được sử dụng làm tiêu đề cho ảnh:

{{#invoke:InfoboxImage | InfoboxImage | image={{{image}}} | alt = Alt text }}
[[File:{{{image}}}|frameless|alt=Alt text|Alt text]]

Để biết thêm thông tin, xemen:Wikipedia:Extended image syntax.

Ví dụ sử dụng

|image = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|}}}|upright={{{image_upright|1}}}|alt={{{alt|}}}}}

Ví dụ

{{#invoke:InfoboxImage|InfoboxImage}}
{{#invoke:InfoboxImage|InfoboxImage|image=}}

{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg}}
{{#invoke:InfoboxImage|InfoboxImage|image=File:Abbey Rd Studios.jpg}}
{{#invoke:InfoboxImage|InfoboxImage|image=Image:Abbey Rd Studios.jpg}}

{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|upright=yes}}

{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|upright=1.2}}

{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|size=100px}}
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|size=100}}

{{#invoke:InfoboxImage|InfoboxImage|image=[[Image:Abbey Rd Studios.jpg|200px]]}}
{{#invoke:InfoboxImage|InfoboxImage|image=[[Image:Abbey Rd Studios.jpg|200px]]|title=Abbey Road!}}
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|sizedefault=250px|alt=The front stairs and door of Abbey Road Studios}} The front stairs and door of Abbey Road Studios
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|sizedefault=250|alt=The front stairs and door of Abbey Road Studios}} The front stairs and door of Abbey Road Studios
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|sizedefault=250px|alt=The front stairs and door of Abbey Road Studios|title=Exterior, front view of Abbey Road studios}} The front stairs and door of Abbey Road Studios
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|alt=The front stairs and door of Abbey Road Studios}} The front stairs and door of Abbey Road Studios
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|size=100px|alt=The front stairs and door of Abbey Road Studios}} The front stairs and door of Abbey Road Studios
{{#invoke:InfoboxImage|InfoboxImage|image=Bandera de Bilbao.svg|size=100|border=yes}}
{{#invoke:InfoboxImage|InfoboxImage|image=Image is needed male.svg}}
{{#invoke:InfoboxImage|InfoboxImage|image=Image is needed male.svg|suppressplaceholder=no}}
{{#invoke:InfoboxImage|InfoboxImage|image=[[File:Image is needed male.svg|200px]]}}
{{#invoke:InfoboxImage|InfoboxImage|image=[[File:Image is needed male.svg|200px]]|suppressplaceholder=no}}
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|size=50px|maxsize=100px}}
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|size=200px|maxsize=100px}}
{{#invoke:InfoboxImage|InfoboxImage|image=[[File:Abbey Rd Studios.jpg|200px]]|maxsize=100px}}
{{#invoke:InfoboxImage|InfoboxImage|image=Abbey Rd Studios.jpg|maxsize=100px|center=yes}}
{{#invoke:InfoboxImage|InfoboxImage|image=no such image|maxsize=100px|center=yes}}
Tập tin:No such image

Hình ảnh giữ chỗ có thể bị chặn

Thể loại giám sát

-- Inputs:
-- image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link
-- page - page to display for multipage images (DjVu)
-- size - size to display the image
-- maxsize - maximum size for image
-- sizedefault - default size to display the image if size param is blank
-- alt - alt text for image
-- title - title text for image
-- border - set to yes if border
-- center - set to yes, if the image has to be centered
-- upright - upright image param
-- suppressplaceholder - if yes then checks to see if image is a placeholder and suppresses it
-- link - page to visit when clicking on image
-- Outputs:
-- Formatted image.
-- More details available at the "Module:InfoboxImage/doc" page

locali={};

localplaceholder_image={
"Blue - Replace this image female.svg",
"Blue - Replace this image male.svg",
"Female no free image yet.png",
"Flag of None (square).svg",
"Flag of None.svg",
"Flag of.svg",
"Green - Replace this image female.svg",
"Green - Replace this image male.svg",
"Image is needed female.svg",
"Image is needed male.svg",
"Location map of None.svg",
"Male no free image yet.png",
"Missing flag.png",
"No flag.svg",
"No free portrait.svg",
"No portrait (female).svg",
"No portrait (male).svg",
"Red - Replace this image female.svg",
"Red - Replace this image male.svg",
"Replace this image female (blue).svg",
"Replace this image female.svg",
"Replace this image male (blue).svg",
"Replace this image male.svg",
"Silver - Replace this image female.svg",
"Silver - Replace this image male.svg",
"Replace this image.svg",
"Cricket no pic.png",
"CarersLogo.gif",
"Diagram Needed.svg",
"Example.jpg",
"Image placeholder.png",
"No male portrait.svg",
"Nocover-upload.png",
"NoDVDcover copy.png",
"Noribbon.svg",
"No portrait-BFD-test.svg",
"Placeholder barnstar ribbon.png",
"Project Trains no image.png",
"Image-request.png",
"Sin bandera.svg",
"Sin escudo.svg",
"Replace this image - temple.png",
"Replace this image butterfly.png",
"Replace this image.svg",
"Replace this image1.svg",
"Resolution angle.png",
"Image-No portrait-text-BFD-test.svg",
"Insert image here.svg",
"No image available.png",
"NO IMAGE YET square.png",
"NO IMAGE YET.png",
"No Photo Available.svg",
"No Screenshot.svg",
"No-image-available.jpg",
"Null.png",
"PictureNeeded.gif",
"Place holder.jpg",
"Unbenannt.JPG",
"UploadACopyrightFreeImage.svg",
"UploadAnImage.gif",
"UploadAnImage.svg",
"UploadAnImageShort.svg",
"CarersLogo.gif",
"Diagram Needed.svg",
"No male portrait.svg",
"NoDVDcover copy.png",
"Placeholder barnstar ribbon.png",
"Project Trains no image.png",
"Image-request.png",
"Noimage.gif",
}

functioni.IsPlaceholder(image)
-- change underscores to spaces
image=mw.ustring.gsub(image,"_","");
assert(image~=nil,'mw.ustring.gsub(image, "_", "" ) must not return nil')
-- if image starts with [[ then remove that and anything after |
ifmw.ustring.sub(image,1,2)=="[["then
image=mw.ustring.sub(image,3);
image=mw.ustring.gsub(image,"([^|]*)|.*","%1");
assert(image~=nil,'mw.ustring.gsub(image, "([^|]*)|.*", "%1" ) must not return nil')
end
-- Trim spaces
image=mw.ustring.gsub(image,'^[ ]*(.-)[ ]*$','%1');
assert(image~=nil,"mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1') must not return nil")
-- remove prefix if exists
localallNames=mw.site.namespaces[6].aliases
allNames[#allNames+1]=mw.site.namespaces[6].name
allNames[#allNames+1]=mw.site.namespaces[6].canonicalName
fori,nameinipairs(allNames)do
ifmw.ustring.lower(mw.ustring.sub(image,1,mw.ustring.len(name)+1))==mw.ustring.lower(name..":")then
image=mw.ustring.sub(image,mw.ustring.len(name)+2);
break
end
end
-- Trim spaces
image=mw.ustring.gsub(image,'^[ ]*(.-)[ ]*$','%1');
-- capitalise first letter
image=mw.ustring.upper(mw.ustring.sub(image,1,1))..mw.ustring.sub(image,2);

fori,jinpairs(placeholder_image)do
ifimage==jthen
returntrue
end
end
returnfalse
end

functioni.InfoboxImage(frame)
localimage=frame.args["image"];

ifimage==""orimage==nilthen
return"";
end
ifimage==""then
returnimage;
end
ifframe.args["suppressplaceholder"]~="no"then
ifi.IsPlaceholder(image)==truethen
return"";
end
end

ifmw.ustring.lower(mw.ustring.sub(image,1,5))=="http:"then
return"";
end
ifmw.ustring.lower(mw.ustring.sub(image,1,6))=="[http:"then
return"";
end
ifmw.ustring.lower(mw.ustring.sub(image,1,7))=="[[http:"then
return"";
end
ifmw.ustring.lower(mw.ustring.sub(image,1,6))=="https:"then
return"";
end
ifmw.ustring.lower(mw.ustring.sub(image,1,7))=="[https:"then
return"";
end
ifmw.ustring.lower(mw.ustring.sub(image,1,8))=="[[https:"then
return"";
end

ifmw.ustring.sub(image,1,2)=="[["then
-- search for thumbnail images and add to tracking cat if found
localcat="";
ifmw.title.getCurrentTitle().namespace==0and(mw.ustring.find(image,"|%s*thumb%s*[|%]]")ormw.ustring.find(image,"|%s*thumbnail%s*[|%]]"))then
cat="[[Thể loại:Trang có hộp thông tin có hình nhỏ]]";
elseifmw.title.getCurrentTitle().namespace==0then
cat="[[Category:Pages using deprecated image syntax]]";
end
returnimage..cat;
elseifmw.ustring.sub(image,1,2)=="{{"andmw.ustring.sub(image,1,3)~="{{{"then
returnimage;
elseifmw.ustring.sub(image,1,1)=="<"then
returnimage;
elseifmw.ustring.sub(image,1,5)==mw.ustring.char(127).."UNIQ"then
-- Found strip marker at begining, so pass don't process at all
returnimage;
elseifmw.ustring.sub(image,4,9)=="`UNIQ-"then
-- Found strip marker at begining, so pass don't process at all
returnimage;
else
localresult="";
localpage=frame.args["page"];
localsize=frame.args["size"];
localmaxsize=frame.args["maxsize"];
localsizedefault=frame.args["sizedefault"];
localalt=frame.args["alt"];
locallink=frame.args["link"];
localtitle=frame.args["title"];
localborder=frame.args["border"];
localupright=frame.args["upright"]or"";
localthumbtime=frame.args["thumbtime"]or"";
localcenter=frame.args["center"];

-- remove prefix if exists
localallNames=mw.site.namespaces[6].aliases
allNames[#allNames+1]=mw.site.namespaces[6].name
allNames[#allNames+1]=mw.site.namespaces[6].canonicalName
fori,nameinipairs(allNames)do
ifmw.ustring.lower(mw.ustring.sub(image,1,mw.ustring.len(name)+1))==mw.ustring.lower(name..":")then
image=mw.ustring.sub(image,mw.ustring.len(name)+2);
break
end
end

ifmaxsize~=""andmaxsize~=nilthen
-- if no sizedefault then set to maxsize
ifsizedefault==""orsizedefault==nilthen
sizedefault=maxsize
end
-- check to see if size bigger than maxsize
ifsize~=""andsize~=nilthen
localsizenumber=tonumber(mw.ustring.match(size,"%d*"))or0;
localmaxsizenumber=tonumber(mw.ustring.match(maxsize,"%d*"))or0;
ifsizenumber>maxsizenumberandmaxsizenumber>0then
size=maxsize;
end
end
end
-- add px to size if just a number
if(tonumber(size)or0)>0then
size=size.."px";
end
-- add px to sizedefault if just a number
if(tonumber(sizedefault)or0)>0then
sizedefault=sizedefault.."px";
end

result="[[File:"..image;
ifpage~=""andpage~=nilthen
result=result.."|page="..page;
end
ifsize~=""andsize~=nilthen
result=result.."|"..size;
elseifsizedefault~=""andsizedefault~=nilthen
result=result.."|"..sizedefault;
else
result=result.."|frameless";
end
ifcenter=="yes"then
result=result.."|center"
end
ifalt~=""andalt~=nilthen
result=result.."|alt="..alt;
end
iflink~=""andlink~=nilthen
result=result.."|link="..link;
end
ifborder=="yes"then
result=result.."|border";
end
ifupright=="yes"then
result=result.."|upright";
elseifupright~=""then
result=result.."|upright="..upright;
end
ifthumbtime~=""then
result=result.."|thumbtime="..thumbtime;
end
iftitle~=""andtitle~=nilthen
result=result.."|"..title;
elseifalt~=""andalt~=nilthen
result=result.."|"..alt;
end
result=result.."]]";

returnresult;
end
end

returni;