我已经使用飞碟一段时间了,结果非常棒.
我可以像这样通过uri设置文档
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(xhtmlUri);
Run Code Online (Sandbox Code Playgroud)
这很好,因为它将解析相对于给定URI的所有相对css资源等.但是,我现在正在生成xhtml,并希望将其直接呈现为PDF(不保存文件).ITextRenderer中的相应方法似乎是:
private Document loadDocument(final String uri) {
return _sharedContext.getUac().getXMLResource(uri).getDocument();
}
public void setDocument(String uri) {
setDocument(loadDocument(uri), uri);
}
public void setDocument(Document doc, String url) {
setDocument(doc, url, new XhtmlNamespaceHandler());
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我现有的代码只给出了uri,ITextRenderer并Document为我创建了这个代码.
Document从格式化的xhtml字符串创建最短的方法是什么?我更喜欢使用现有的Flying Saucer库,而不必导入另一个XML解析jar(只是为了一致的错误和功能).
是否有工具来测量页面上元素的实际渲染时间?我不是指资源的下载时间,而是浏览器渲染内容的实际时间.我知道这个时间会因客户端计算机上的因素而异,但在了解渲染引擎需要一段时间加载时仍然非常方便.我认为这应该是一个有用的实用程序,因为Web应用程序现在变得非常沉重.有什么想法吗?
我有几个动态页面,我想在页面完全呈现之前更改某些元素.
我的片段是这样的
document.body.getElementById("change").innerHTML = "<img src...";
Run Code Online (Sandbox Code Playgroud)
我没有权限更改内容服务器端.
将代码放在其呈现的页面之前运行代码的最佳位置在哪里?
相反,是将javascript放在HEAD(在window.onload事件中?)还是在关闭BODY(不在事件监听器内)之前?
我想在SDL_Surface给定的alpha通道上渲染一个消除锯齿的字符串.
我发现有可能呈现:
Blended字符串渲染方法变体的消除锯齿的字符串(即:)TTR_RenderText_Blended.但后来我无法透明化.Shaded方法的抗锯齿字符串.但后来有一个坚实的背景.背景和绘制的字符串可以变得透明,但实时背景仍然存在.传递它透明的背景颜色也是不可能的.Solid变量一样透明.但它没有消除锯齿.谢谢
我正试图弄清楚如何解决我的问题.我已经阅读http://groups.google.com/group/android-developers/browse_thread/thread/a2aac88a08cb56c2/b7dff4ba388cd664?lnk=gst&q=SurfaceView#b7dff4ba388cd664这些问题可以解答我的问题,但据我所知,这是一种"艰难的运气"答案.所以这是我的问题:
我正在以正常方式使用SurfaceView(lock/unlockAndPost)在表面改变时绘制我的游戏背景的位图(例如方向等)并且我渲染一系列移动圆(最多30个半径为约25.f).这些圈子的位置的x,y数据来自服务器,并且一切正常.所有圆形对象都存储在列表中,并且它们的位置会更新,以确保同步更新.然而,当我将这些圆圈绘制到屏幕上时(在canvas.lock()期间),大多数时候它们渲染得很好但偶尔(例如每隔几秒一次),一些圆圈似乎会撕裂或闪烁一帧.圆的数量总是不变的,所以这不是问题,并且没有对圆列表的并发修改(正如我所说,它是同步的).我甚至尝试将所有这些圆形绘制到每个渲染循环上的位图并将该位图绘制到主画布.这似乎只会影响性能(~13FPS,而不是直接将圆圈绘制到主画布时的〜30FPS).对不起,如果这些信息有点模糊,(试图让公司高兴:p)但我只是想知道是否有人能给我一个线索?或者我只是运气不好.我应该注意到来自服务器的定位数据是实时数据,渲染反映这些实时位置至关重要.对不起,如果这些信息有点模糊,(试图让公司高兴:p)但我只是想知道是否有人能给我一个线索?或者我只是运气不好.我应该注意到来自服务器的定位数据是实时数据,渲染反映这些实时位置至关重要.对不起,如果这些信息有点模糊,(试图让公司高兴:p)但我只是想知道是否有人能给我一个线索?或者我只是运气不好.我应该注意到来自服务器的定位数据是实时数据,渲染反映这些实时位置至关重要.
谢谢你的帮助!克里斯
编辑:
很公平.这是来自渲染线程的run().
@Override
public void run() {
Canvas c;
while (mRun) {
c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
panel.onDraw(c);
}
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
很标准的东西(几乎是月球着陆器的副本:p)
@Override
public void surfaceCreated(SurfaceHolder holder) {
mBackground= Bitmap.createBitmap(this.getWidth(), this.getHeight(), Bitmap.Config.RGB_565);
screenOrientation = getResources().getConfiguration().orientation;
if(thread.getState()== Thread.State.TERMINATED){
thread = new RenderThread(holder, this);
thread.setRunning(true);
thread.start();
}else {
thread.setRunning(true);
thread.start();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int …Run Code Online (Sandbox Code Playgroud) 我在视图中有一个电子邮件模板,我想编写一个ConsoleApplication进程,准备发送电子邮件.因为它是ConsoleApplication我无法访问控制器.是否可以呈现视图?
我正在使用Ruby on Rails 3.0.10,我想将一些参数传递给默认的渲染方法.也就是说,如果我有一个类似的代码
def show
...
respond_to do |format|
format.html # This, by default, renders the 'show.html.erb' file
end
end
Run Code Online (Sandbox Code Playgroud)
我想传递一些参数,也许就像(注意:以下不起作用)
def show
...
respond_to do |format|
# Here I would like to add some local objects that will be available in the 'show.html.erb' template file
format.html { render ..., :locals => { :content => { :value => 'Sample value' } } }
end
end
Run Code Online (Sandbox Code Playgroud)
所以在show.html.erb模板中我可以做类似的事情:
<%=
content[:value]
# => 'Sample value'
%>
Run Code Online (Sandbox Code Playgroud)
简而言之,我想以与为与:locals键相关的部分模板渲染所做的相同方式传递参数值 …
我正在制作具有一堆小窗口和控件的应用程序(所以它是2D渲染),我想将每个窗口和控件渲染到它自己的位图(没有那么多).这有:
uses dglOpenGL;
...
var BMP: TBitmap;
DC, RC: HDC;
...
function TMainForm.Init: Boolean;
begin
Result := InitOpenGL;
if Result = True then
begin
BMP := TBitmap.Create;
BMP.PixelFormat := pf24bit;
BMP.Width := 1280;
BMP.Height := 1024;
DC := (BMP.Canvas.Handle);
RC := CreateRenderingContext(DC,
[opGDI, opDoubleBuffered], // tried changing, didn't help
24,
24,
0,
0,
0,
0);
ActivateRenderingContext(DC, RC);
glClearColor(0.27, 0.4, 0.7, 0.0); // light blue
glViewport(0, 0, 1280, 1024);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
glOrtho(0, 1280, 0, 1024, -1, 10);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
end;
end; …Run Code Online (Sandbox Code Playgroud) 我TextBlock在一个3D面板(Planerator)中放了一个,我用它Storyboard来制作动画.(作为抓取文本)
当视野为1时,一切正常,但如果我将视野设置为50以上,帧速率将急剧下降,渲染将会不稳定.
我用了CompositionTarget.rendering.
请看下面的图片:
我需要3D视图中的2D动画具有良好的性能.
请告诉我如何解决这个问题?我应该离开WPF并转到DirectX吗?
更新1:
我只想在3D空间中移动一个 2Dtext,但性能很差.(渲染不顺畅,不稳定)
这是一个示例项目.
更新2:
这是基于cokeman19的答案的示例项目更新版本.(性能提升了~10帧,但我需要完美渲染)
更新3:
最后,在cokeman19的回答和本页内容的帮助下,我获得了可接受的表现.
我正在开发一个应该在iOS和Android设备上运行的PhoneGap/Cordova应用程序,并使用嵌入为<img/>标签的SVG图像,使用HTML属性width=""并height=""设置其尺寸,并style="left: ...px; top: ...px; zoom: ...;"设置它们的相对位置,缩放系数在多个之间均匀图像对象.
我的问题是,当放大和缩小时,图像会在Safari和Chrome中以不同的大小呈现.这也可以在这些浏览器的桌面版本中看到,我想我可以将其缩小到left与topCSS属性相关的舍入问题.使用zoomCSS属性的小数值width以及heightHTML属性时,问题会更加严重.
我在这里创建了一个demo和一个可下载的版本.在这个演示中,我使用了两个SVG图像,除了它们的填充颜色外,它们用于颜色对比.演示中有三对:最顶层使用小zoom数值,中间使用小数width和height值,最后一个使用width和height值的圆倍数.有一个按钮可以启动动画,只需将每个步骤中的一个像素向右移动所有图像.在Chrome中很容易注意到,中间的图像大幅度地摇晃,而另外两个中的变化则更难以注意到 - 但它们也在那里.我正在使用Windows 10和Chrome 65.0 - 虽然我也可以看到Firefox和Edge中的问题变体(尽管 - 它们的呈现方式不同).
这是演示的动画.请注意,我在帧之间改变的是left所有图像的位置 - 并且以统一的方式这样做.
对于我的应用程序,图像必须zoom在页面上的级别和不同位置具有一致的呈现.当改变zoom,left并top顺利地性能,图像应该改变的尺寸和位置顺利,尊称.更改left和top属性时,它们不应更改尺寸.有没有一种方法可以确保当多个图像使用相同(可能是分数)width和height值,但是变化left和top位置时,它们将被渲染为相同的?有没有办法确保zoom属性的平滑过渡导致平滑渲染?
一个正确的答案要么解释为什么使用当前的浏览器是不可能的,指向一个描述此问题的确认的错误报告,并表明它影响任一平台中的流行设备; 或提供另一种方法来确定图像的大小和位置,同时保留使用小数值的可能性,并在所有图像使用相同尺寸时获得均匀性和平滑的变焦过渡. …