小编Mob*_*Dev的帖子

Android Image View Pinch Zooming

我正在使用Make Sense of Multitouch中的代码示例 来缩放图像视图.在ScaleListener上,我添加ScaleGestureDetector.getFocusX() and getFocusY()内容以缩放手势的焦点.它工作正常.

问题是,在第一次多点触控时,整个图像绘制位置将变为当前触摸点并从那里进行缩放.你能帮我解决这个问题吗?

这是TouchImageView的My Code Sample.

public class TouchImageViewSample extends ImageView {

private Paint borderPaint = null;
private Paint backgroundPaint = null;

private float mPosX = 0f;
private float mPosY = 0f;

private float mLastTouchX;
private float mLastTouchY;
private static final int INVALID_POINTER_ID = -1;
private static final String LOG_TAG = "TouchImageView";

// The ‘active pointer’ is the one currently moving our object.
private int mActivePointerId = INVALID_POINTER_ID;

public TouchImageViewSample(Context context) …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-intent android-layout

59
推荐指数
5
解决办法
13万
查看次数

FFmpeg用于从静止图像JNI Android创建视频文件的示例代码

我如何修改以下FFMPEG示例代码,用于从我在Android手机中的静态图像创建视频文件.我正在使用JNI来调用ffmpeg.

JNIEXPORT void JNICALL videoEncodeExample((JNIEnv *pEnv, jobject pObj, jstring filename)

    {
     AVCodec *codec;
     AVCodecContext *c= NULL;
     int i, out_size, size, x, y, outbuf_size;
     FILE *f;
     AVFrame *picture;
     uint8_t *outbuf, *picture_buf;

     printf("Video encoding\n");

     /* find the mpeg1 video encoder */
     codec = avcodec_find_encoder(CODEC_ID_MPEG1VIDEO);
     if (!codec) {
         fprintf(stderr, "codec not found\n");
         exit(1);
     }

     c= avcodec_alloc_context();
     picture= avcodec_alloc_frame();

     /* put sample parameters */
     c->bit_rate = 400000;
     /* resolution must be a multiple of two */
     c->width = 352;
     c->height = 288;
     /* frames …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android ffmpeg android-ndk

17
推荐指数
1
解决办法
6776
查看次数

相对于旋转角度的矩形坐标

我正在尝试使用Surfaceview和画布绘制在Android中创建自定义组件.这些组件可以通过触摸来重新调整大小并且可以旋转.考虑创建一个图像视图,其顶部,右侧,底部和左侧边缘可通过触摸和拖动所需边缘进行扩展.我RectF用来保持组件的边界,对于旋转我正在使用canvas.rotate(angle, bounds.centerX(),bounds.centerY())方法.问题是在调整上边缘的大小时,Let,Right和Bottom边缘应该是固定的,如果旋转角度不是0度,我就无法修复它.我需要一个数学解决方案来找出旋转矩形相对于实际矩形边界的x,y坐标.

我可以借助一些图片来解释它.下图显示了两个矩形,其边界也是已知的并以相应的颜色显示.将Green Rect视为组件的初始边界,即.旋转-45度,中心为(10,10).现在重新调整矩形的上边缘,并在下面的图2中显示.

图1

从图2可以看出,Y位置从6减小到4.旋转的矩形也以粉红色显示.请记住,当组件处于旋转角度-45度时,我正在调整大小,因此在拖动顶部边缘矩形的左,右和底部位置时不应更改.因此,图2的粉红色矩形应具有与图1的绿色矩形相同的左,右和底坐标.获得的和预期的矩形的比较如图3所示.

图2

在图3中,黄色矩形是预期/需要输出.在得到的矩形粉红色向上偏移相比,绿色旋转矩形,并且是变化取决于旋转的角度.

  • 我的旋转角度= -45度
  • 实际(未重新调整大小)矩形的界限.
  • 旋转= -45度时实际(未重新调整大小)矩形的界限.
  • 重新调整大小的矩形的界限.
  • 旋转时重新调整大小的矩形的边界= -45度.

如何计算黄色矩形的边界/中心.这样我可以正确实现组件的大小调整吗?让我知道是否有任何数学可以应用?

所需的点/坐标在图3中标记为红色圆圈.

图3

math android discrete-mathematics game-physics

7
推荐指数
1
解决办法
3426
查看次数

使用PGRouting的基于GTFS的公交规划

我已经按照以下教程通过导入GTFS数据来设置OpenTripPlanner并且它工作正常.

http://docs.opentripplanner.org/en/latest/Basic-Tutorial/

但我必须将旅行计划整合到现有的GIS实施中,该实施使用OpenLayers,PostgreSQL,PostGIS和PGRouting.我不确定是否可以使用OpenTripPlanner API来获取Trips并在GUI上显示.

我想知道,是否可以使用PostGIS和Pgrouting(不使用OpenTripPlanner)进行类似于OpenTripPlanner的旅行计划?

如果可能的话,Pgrouting数据库结构或查询逻辑将如何在过境站点之间查找即将到来的旅行?

在Pgrouting DB中,找到了除路径和顶点之外的两个表POI和空间参考表,是否需要将GTFS数据导入此POI和空间参考表?

提前致谢.

gis postgis gtfs pgrouting opentripplanner

5
推荐指数
1
解决办法
278
查看次数

PhoneGap与黑莓OS 10

我想知道PhoneGap sdk是否支持Blackberry OS 10版本?我认为是.bar文件,我是对的吗?

blackberry-playbook blackberry-webworks phonegap-plugins cordova blackberry-10

3
推荐指数
1
解决办法
5321
查看次数