现在,我有: targetType.GetMethod("get_Item", BindingFlags.Instance)
有更好的吗?
我正在为网站使用CMS系统.我的内容贡献者在系统中放了一些非常大的图像,然后继续在cms中调整它们的大小,使它们适合于页面或文章.当webuser访问该页面时,即使贡献者已调整图像大小,他们也会下载完整图像.我找到了一个图像缩放器插件,我需要做的就是在src中添加图像名称后面的width和height参数.进行搜索看起来我应该使用html agility pack来实现这一点,但有人可以帮我完成我的代码.我已经想出如何在内容中找到img标签,但我不知道如何在宽度和高度上附加src.
旧标签
<img src="/IMG_3556E__sq2.jpg?n=9418" id="/IMG_3556E__sq2.jpg?n=9418" width="83px" height="83px" />
Run Code Online (Sandbox Code Playgroud)
对此 - 请注意src值已更改
<img src="/IMG_3556E__sq2.jpg?width=83&height=83" id="/IMG_3556E__sq2.jpg?n=9418" width="83px" height="83px" />
Run Code Online (Sandbox Code Playgroud)
到目前为止这是我的代码.我需要的只是if语句中的帮助来说明img标记是否包含宽度或高度,将它们附加到src属性.
ContentManager contentManager = new ContentManager();
ContentData Content = contentManager.GetItem(id);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(Content.Html);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//img/@src"))
{
if (//img has a width or height, it means image has been resized) {
//append that nodes src within the content.html with the ?width=x&height=x
}
}
Run Code Online (Sandbox Code Playgroud) 我想减少从中获取的图像文件大小UIImagePickerController.我用这种方法
NSData*imageData = UIImageJPEGRepresentation(image,0.1);
但它将2.2 MB的图像文件大小减少到300 KB我希望我的图像文件大小小于100 KB.
我觉得用Android处理图像真的很难,我认为这是Android开发中最困难的部分......
1)我有一个图像,我希望它是我的应用程序的背景,所以我这样做
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity"
android:background="@drawable/accueil">
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
背景应该填满整个屏幕,但它不是cas.某些(小)屏幕上仅显示部分背景.我怎么能说:我希望图像能够填满所有的屏幕,即使图像比图像大,屏幕上的图像应该减少,所以我看到了所有的背景?
也许我应该把我的背景放在背景上而不是用它作为背景
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView1"
android:layout_width="500dp"
android:layout_height="500dp"
android:adjustViewBounds="false"
android:src="@drawable/accueil" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
然而在某些设备中,图像有点裁剪.
2)我必须在另一个布局中放置一个布局,但我希望它的位置精确,其宽度相对于父布局.但如果我这样做
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/fond">
<LinearLayout
android:layout_width="300dp"
android:layout_height="350dp"
android:layout_marginTop="20dp"
android:background="@drawable/fondshare"
android:orientation="vertical" >
Run Code Online (Sandbox Code Playgroud)
你可以看到结果不是我的预期(线性布局是带有笑脸和所有按钮的矩形)

我的应用程序正在运行,但是当我今天上午开始处理它时,一切都无法正常工作.我收到一个错误膨胀类错误,似乎是从一个xml文件,我得到"二进制XML文件行#25"行.正如我所说,这工作正常,现在突然间没有.以下是异常跟踪:
01-27 11:20:53.624: E/AndroidRuntime(7831): FATAL EXCEPTION: main
01-27 11:20:53.624: E/AndroidRuntime(7831): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ypmmllc.dailychecklist/com.ypmmllc.dailychecklist.TabbedActivity}: android.view.InflateException: Binary XML file line #25: Error inflating class android.support.v7.internal.widget.ActionBarView
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2737)
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2753)
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.app.ActivityThread.access$2500(ActivityThread.java:129)
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2107)
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.os.Handler.dispatchMessage(Handler.java:99)
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.os.Looper.loop(Looper.java:143)
01-27 11:20:53.624: E/AndroidRuntime(7831): at android.app.ActivityThread.main(ActivityThread.java:4701)
01-27 11:20:53.624: E/AndroidRuntime(7831): at java.lang.reflect.Method.invokeNative(Native Method)
01-27 11:20:53.624: E/AndroidRuntime(7831): at java.lang.reflect.Method.invoke(Method.java:521)
01-27 11:20:53.624: E/AndroidRuntime(7831): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-27 11:20:53.624: E/AndroidRuntime(7831): …Run Code Online (Sandbox Code Playgroud) 我正在编译自定义内核,我想测试图像文件的大小.这些是结果:
ls -la | grep vmlinux
-rwxr-xr-x 1 root root 8167158 May 21 12:14 vmlinux
du -h vmlinux
3.8M vmlinux
size vmlinux
text data bss dec hex filename
2221248 676148 544768 3442164 3485f4 vmlinux
Run Code Online (Sandbox Code Playgroud)
由于它们都显示不同的尺寸,哪一个最接近实际图像尺寸?他们为什么不同?
我有一个应用程序,我使用intent发送电子邮件,如下所示:
//TODO attach and send here
try {
Log.i(getClass().getSimpleName(), "send task - start");
String address = "emailHere@yahoo.com";
String subject = "Order of " + customer + " for " + date;
String emailtext = "Please check the attached file. Attached file contains order of " + customer;
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { address });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailtext);
ArrayList<Uri> uris = new ArrayList<Uri>();
Uri uriList = Uri.fromFile(orderListFile);
uris.add(uriList);
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
this.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
} …Run Code Online (Sandbox Code Playgroud) NdefFormatable ndefFormatable = NdefFormatable.get(tag);
if (ndefFormatable == null) {
throw new TagException("Not a NDEF formatable tag");
}
try {
if(!ndefFormatable.isConnected())
{
ndefFormatable.connect();
}
tagData.setUniqueId(tag.getId());
NdefMessage ndefMessage = buildNdefMessage(tagData);
ndefFormatable.format(ndefMessage);
}
catch (FormatException ex) {
throw new TagException(ex.getMessage());
}
finally {
ndefFormatable.close();
}
Run Code Online (Sandbox Code Playgroud)
当它进入try并执行connect()时,它总是抛出IOException
谁能帮我吗.
我有一个自定义序列类型。它本质上是列表加布尔标志的包装,我希望它模仿通常的不可变序列行为。
我的问题是切片。我知道在Python 3中,实现它的__getitem__(key)方法是有一个方法,如果%key一个索引是一个项目,则返回一个项目;如果%key是一个切片对象,则返回一个切片的序列。但是我应该如何区分这些情况?
我基本上有两个假设。
sliced_list = self.wrapped_list[key]
if isinstance(key, slice):
return MyCustomSequenceType(sliced_list, boolean_flag)
return sliced_list
Run Code Online (Sandbox Code Playgroud)
但这是邪恶的,不是吗?要么
sliced_list = self.wrapped_list[key]
try:
return MyCustomSequenceType(sliced_list, boolean_flag)
except TypeError:
return sliced_list
Run Code Online (Sandbox Code Playgroud)
后者看起来更pythonic。它依赖于MyCustomSequenceType.__init__(self, datas, flag)调用len(datas)的事实,因此TypeError如果%datasis是,则会引发integer。但是,如果再__init__提出TypeError另一个随机问题,那将是无法追踪的。另外,http: //wiki.cython.org/enhancements/numpy/getitem暗示了isinstance速度更快(实际上更容易被优化)。
那我该怎么办?
我有一个同时接收多个请求的网络服务。对于每个请求,我需要调用另一个网络服务(身份验证)。问题是,如果同时发生多个(>20)请求,响应时间会突然变得更糟。
我制作了一个示例来演示该问题:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
namespace CallTest
{
public class Program
{
private static readonly HttpClient _httpClient = new HttpClient(new HttpClientHandler { Proxy = null, UseProxy = false });
static void Main(string[] args)
{
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.Expect100Continue = false;
// warmup
CallSomeWebsite().GetAwaiter().GetResult();
CallSomeWebsite().GetAwaiter().GetResult();
RunSequentiell().GetAwaiter().GetResult();
RunParallel().GetAwaiter().GetResult();
}
private static async Task RunParallel()
{
var tasks = new List<Task>();
for (var i = 0; i < 300; i++)
{
tasks.Add(CallSomeWebsite());
}
await …Run Code Online (Sandbox Code Playgroud) android ×4
c# ×3
image-size ×3
image ×2
android-xml ×1
du ×1
email ×1
html ×1
ios ×1
iphone ×1
items ×1
java ×1
linux ×1
linux-kernel ×1
ls ×1
methodinfo ×1
nfc ×1
python ×1
reflection ×1
screen ×1
slice ×1
src ×1
typechecking ×1
uiimage ×1