在过去一个月左右的时间里,我一直在努力解决这个问题.每当我认为我已经修复它似乎以某种形式回来.
这是旧的Android"图像旋转90度"的错误.我已经在这里阅读了无数的帖子(StackOverFlow)以及尝试了很多方法,但似乎无法修复它.
我仍然得到错误旋转的图像.
在我的应用程序中,用户选择他/她的个人资料图片,然后将其设置为ImageView.图像选自Phones Gallery
两天前,我实施了以下代码,这适用于我在手机上测试的所有图像.然而,当我的一位Beta测试者试用它时,他的图像再次被旋转.他把图像发给我测试,但他们在我的手机上显示正常.因此,为什么我越来越沮丧.
这是我用来获取图像方向的方法:
// Gets an Images Orientation
public static int getOrientationEXIF(Context context, Uri uri) {
int orientation = 0;
try {
ExifInterface exif = new ExifInterface(uri.getPath());
orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
orientation = 90;
return orientation;
case ExifInterface.ORIENTATION_ROTATE_180:
orientation = 180;
return orientation;
}
} catch (IOException e) {
e.printStackTrace();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后我使用此方法获得旋转的位图:
// Rotate a Bitmap
public static Bitmap rotate(float rotationValue, String filePath) {
Bitmap original= BitmapFactory.decodeFile(filePath);
int …
Run Code Online (Sandbox Code Playgroud) 我一直在努力在 Stackoverflow 上寻找这个问题的答案,至少是我能理解的。我最近购买了 CLion,并希望将 Visual Studio 中的一个旧项目移植到其中。但我不知道如何将 .lib 文件链接或添加到我的项目中。我需要链接 Xinput 和 DSound。
在 Visual Studio 中,我刚刚添加了标头,然后将它们添加到文件的顶部
#pragma comment(lib, "XInput.lib")
#pragma comment(lib, "Dsound.lib")
我完全不知道如何使用 CMake 链接到这些库,因为我是一个完全的初学者。
任何帮助将不胜感激
这是我当前的 CMake 文件
cmake_minimum_required(VERSION 3.3)
project("Handmade_Hero")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
add_executable("Handmade_Hero" ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)
更新
cmake_minimum_required(VERSION 3.3)
project(Handmade_Hero)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
add_executable(Handmade_Hero ${SOURCE_FILES})
set( LIBS XInput DSound )
target_link_libraries(Handmade_Hero ${LIBS} )
Run Code Online (Sandbox Code Playgroud)
我的编译器现在抛出以下错误:
PATH\ClionProjects\Handmade-Hero\main.cpp:3:20: fatal error: Xinput.h: No such file or directory
#include <Xinput.h>
^
compilation terminated.
mingw32-make.exe[3]: *** [CMakeFiles/Handmade_Hero.dir/main.cpp.obj] Error 1 …
Run Code Online (Sandbox Code Playgroud) 当前,我们正在使用一种类型安全的查询语言,该自定义DSL允许我们轻松编写数据库查询,这些查询将被解释并转换为Mongo查询。
我们最近从Casbah换成了新的Mongo Scala驱动程序,并改写了我们的翻译。但是,在处理可选值时遇到一些问题。
这是一个示例查询:
dao.headOption(Order.id === orderId.some)
Run Code Online (Sandbox Code Playgroud)
订单对象上存储的类型是一个选项,因此我们也将提供的ID提升为一个选项。但是,每当我尝试以以下方式呈现生成的查询以用于调试以及测试用例时:
import org.mongodb.scala.bson.{BsonDocument, codecs}
query.toBsonDocument(BsonDocument.getClass, codecs.DEFAULT_CODEC_REGISTRY)
Run Code Online (Sandbox Code Playgroud)
最终引发以下异常:
Can't find a codec for class scala.Some.
org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class scala.Some.
Run Code Online (Sandbox Code Playgroud)
我不确定如何纠正此问题,或者不确定是否需要为Option实现我自己的编解码器,并且如果我这样做,我也不知道该怎么做。
任何帮助将不胜感激。先感谢您
更新资料
我已经看到我可以尝试实现编解码器接口,如下所示:
http://mongodb.github.io/mongo-java-driver/3.0/bson/codecs/
我是否需要为Option的每种可能的子类型实现它?
示例Option [Int],Option [UUID],Option [List [String]]等。
我正在尝试将旧应用程序移至新材料设计指南。我以前使用导航抽屉模板来创建主活动。但是,我在尝试将工具栏实现到主活动时遇到了一些大问题。我不断收到 NullPointer 异常。
我正在创建一个这样的工具栏 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blue" >
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
之后,我尝试使用 include 命令将其添加到我的主布局中:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.medinfo.main.MainActivity" >
<include layout="@layout/toolbar_database_edit" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<fragment
android:id="@+id/navigation_drawer"
android:name="com.medinfo.fragments.NavigationDrawerFragment"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
tools:layout="@layout/fragment_navigation_drawer" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
在我的 activity_main 中,我正在执行以下操作:当我调用 setSupportActionBar 或调用 Setup NavDrawer 时发生 NPE。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.layout.toolbar_database_edit);
setSupportActionBar(toolbar);
mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();
// Set up the drawer. …
Run Code Online (Sandbox Code Playgroud)